我有以下字符串:AP00c8.8bf2.6b54我需要一个正则表达式来匹配它,如下所示:以“AP“00 c8(4chars)开头.4chars.4chars这是在2个结果中匹配整个字符串:
^AP[a-zA-Z0-9]*|[a-zA-Z0-9]*\.[a-zA-Z0-9]+([a-zA-Z0-9]+)?$
所以这几乎是工作,不,我只需要限制字符,如6.4.4有人愿意帮我一把吗?
rhfm7lfc1#
如果我理解正确的话,你需要匹配以“AP”开头的字符串,然后是4个字符,然后是一个点,然后是4个字符,然后是一个点,然后是另外4个字符。那就是:
^AP[a-zA-Z0-9]{4}\.[a-zA-Z0-9]{4}\.[a-zA-Z0-9]{4}$
这里有一些关于你原来的模式的更多信息,以防我误解了你想做的事情:
|
*
{4}
+
?
[a-zA-Z0-9]+([a-zA-Z0-9]+)?
[a-zA-Z0-9]+
()
1条答案
按热度按时间rhfm7lfc1#
如果我理解正确的话,你需要匹配以“AP”开头的字符串,然后是4个字符,然后是一个点,然后是4个字符,然后是一个点,然后是另外4个字符。那就是:
这里有一些关于你原来的模式的更多信息,以防我误解了你想做的事情:
|
means "or".你不需要这个。它定义了两种可选的模式,一种以“AP”等开头,另一种以可选的一组字符结尾。*
means "0 or more occurrences".您需要{4}
which means "4 occurrences".+
means "1 or more occurrences".同样需要{4}
。?
means "0 or 1 occurrences".不需要。[a-zA-Z0-9]+([a-zA-Z0-9]+)?
表示“一个或多个电化学品,任选地随后是另一组一个或多个电化学品”。这说不通啊第一组何时停止,第二组何时开始?[a-zA-Z0-9]+
匹配相同的东西:“一个或多个字母”。()
the parentheses are a capturing group。它们的意思是“将匹配的这一部分捕获到一个变量中,因为我想在后面的代码中使用它”。我希望这能帮上忙。