我目前在使用正则表达式匹配字符串时遇到了困难。目标是匹配:
如U21,F305和H12 *。我正在使用的正则表达式是:
\D{1,2}\d{1,3}\*?
但是,它匹配的字符串如下:
我对正则表达式并不太明亮,但这让我无法完成我的项目。任何人都可以帮助我吗?
谢谢。
答案 0 :(得分:4)
尝试使用/^[a-zA-Z]{1,2}\d{1,3}\*?$/
锚点^和$有助于确保您完全匹配您想要的模式。阅读它们:)
答案 1 :(得分:1)
您需要锚定您的匹配。 ^
将比赛固定在线的开头; $
会在行尾删除锚点。
试试这个正则表达式
@"^[\p{L}]{1,2}\d{1,3}[*]?$"
答案 2 :(得分:0)
\D
匹配任何非数字,这是一个比字母大得多的集合(基本上其他所有,包括句点,斜杠等)。尝试使用[a-zA-Z]{1,2}
匹配1或2个字母。
[a-zA-Z]{1,2}\d{1,3}\*?