Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想从不同页面的输入字符串中提取代码。示例代码是“110-PT-0988”。
此 RegExp 适合其他可能的情况'^\d{3}-[A-Z]{1,6}-\d{4}[A-Z]{0,2}$'。
'^\d{3}-[A-Z]{1,6}-\d{4}[A-Z]{0,2}$'
我想返回一个字符串变量,其中包含输入字符串中的代码,例如输入字符串
'Code part: xx Code No: 120-PXT-2234X System Process .....xyz blah blah'.
我希望返回字符串是'120-PXT-2234X'
'120-PXT-2234X'
问题是锚点 ^和$。它们匹配字符串的开头和结尾,并且由于您的模式位于字符串的中间,它不会找到它。
^
$
单词边界的锚\b,在这里会是一个更好的选择,试试
\b
\b\d{3}-[A-Z]{1,6}-\d{4}[A-Z]{0,2}\b#
在 Regexr 上查看
如果你想在一个更大的字符串中匹配这样的模式,那么你需要删除锚(^和$):
\d{3}-[A-Z]{1,6}-\d{4}[A-Z]{0,2}
这样,正则表达式匹配任何匹配模式的子字符串。