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.
使用 xpath 选择后,我使用正则表达式匹配某些文本
例如Huntsville, Alabama 11111
Huntsville, Alabama 11111
我只想要Alabama它总是在逗号之后,我用来[^,]*$在逗号之后获取文本,但我似乎找不到排除数字或只返回字母的方法
Alabama
[^,]*$
另一个例子,当我想在我使用的逗号之后获取数字[^[0-9],]*$ 但当我试图用其他任何东西调整它时,它只返回数字或什么都不返回。
[^[0-9],]*$
[?<=,\s*][a-zA-Z]+你可以试试这个。
[?<=,\s*][a-zA-Z]+
解释:
?<==> 向后查找以匹配字符串但不包含在捕获组中
?<=
,\s*=> 匹配逗号后跟 0 个或多个空格
,\s*
[a-zA-Z]+=> 仅匹配字母(一个或多个)
[a-zA-Z]+
高温高压
要匹配最后一个逗号后的字母单词,您可以使用
[a-zA-Z]+(?=[^,]*$)
请参阅正则表达式演示。
细节
(?=[^,]*$)
,
要匹配同一上下文中的 1 个或多个单词,请使用
[a-zA-Z]+(?:\s+[a-zA-Z]+)*(?=[^,]*$) ^^^^^^^^^^^^^^^^^
请参阅此正则表达式演示。
该(?:\s+[a-zA-Z]+)*部分匹配零个或多个后续出现的 1+ 个空格和 1+ 个 ASCII 字母。
(?:\s+[a-zA-Z]+)*