我正在尝试使用正则表达式匹配特定字符串后的第一个单词,并且一直在努力使所有实例正常工作。假设我有 2 个字符串:
Site Code: foobar
Site Code: hello-world
现在,使用 (?<=bSite Code:s)(w+)
返回foobar
这是正确的,但仅在我需要hello-world
时才返回hello
。
因此,我将表达式更改为(?<=bSite Code:s)(w+)(-w+)
以拾取带连字符的单词,但现在它忽略了非连字符的单词。
有没有办法从同一个表达式中获取foobar
和hello-world
?
试试这个(?<=bSite Code:s)(S+)
如果没有关于要求的更多细节,很难给出确切的答案。上面的正则表达式应匹配特定字符串"站点代码:"之后的所有非空格字符。
试试这个正则表达式:
(?<=bSite Code:s)([-w]+)
#w only include the range [A-Za-z0-9_] in ascii mode.