帮助构建正则表达式

发布于 2024-08-19 22:41:18 字数 456 浏览 4 评论 0原文

我需要知道一个字符串是否符合多个不同的条件。我试图通过使用正则表达式来解决这个问题,然后查看它是否匹配(在Java中:str.matches(myRegex);),但我无法得到正确的结果。

标准如下:

  • 要匹配的字符串由 4 个字母构成,[AZ]
  • 前面可以(但不一定)有“-”、“+”或“VC”之一
  • 它只能匹配恰好包含 4 个字母的字符串字母(以及可能前面的字符)

示例:

  • “SHSN”->匹配
  • “+SHRA”->匹配
  • “VCSHRA”->匹配
  • “CAVOK”->没有匹配
  • “-+SHSN”-> no match

这可以在一个正则表达式中完成吗?或者应该用代码或两者的组合来完成?

谢谢,

莱纳斯

I need to know if a string matches a number of different criterias. I'm trying to solve this by using a regular expression and then see if it matches (in Java: str.matches(myRegex);), but I can't get it right.

The criterias are as follows:

  • The string to match is constructed of 4 letters, [A-Z]
  • It may be preceeded (but not necessarily) by one of "-", "+" or "VC"
  • It shall only match strings containing exactly 4 letters (and the possibly preceeding characters)

Examples:

  • "SHSN" -> match
  • "+SHRA" -> match
  • "VCSHRA" -> match
  • "CAVOK" -> no match
  • "-+SHSN" -> no match

Is this possible to do in one single regex? Or should it be done in code or a combination of the two?

Thanks,

Linus

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦情居士 2024-08-26 22:41:18

试试这个正则表达式:

^([+-]|VC)?[A-Z]{4}$

Try this regular expression:

^([+-]|VC)?[A-Z]{4}$
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文