3

使用 xpath 选择后,我使用正则表达式匹配某些文本

例如Huntsville, Alabama 11111

我只想要Alabama它总是在逗号之后,我用来[^,]*$在逗号之后获取文本,但我似乎找不到排除数字或只返回字母的方法

另一个例子,当我想在我使用的逗号之后获取数字[^[0-9],]*$ 但当我试图用其他任何东西调整它时,它只返回数字或什么都不返回。

4

2 回答 2

8

[?<=,\s*][a-zA-Z]+你可以试试这个。

解释:

?<==> 向后查找以匹配字符串但不包含在捕获组中

,\s*=> 匹配逗号后跟 0 个或多个空格

[a-zA-Z]+=> 仅匹配字母(一个或多个)

高温高压

于 2015-03-22T09:59:50.130 回答
0

要匹配最后一个逗号后的字母单词,您可以使用

[a-zA-Z]+(?=[^,]*$)

请参阅正则表达式演示

细节

  • [a-zA-Z]+- 1 个或多个 ASCII 字母
  • (?=[^,]*$)- 后跟 0+ 个字符,,直到字符串末尾。

要匹配同一上下文中的 1 个或多个单词,请使用

[a-zA-Z]+(?:\s+[a-zA-Z]+)*(?=[^,]*$)
         ^^^^^^^^^^^^^^^^^

请参阅此正则表达式演示

(?:\s+[a-zA-Z]+)*部分匹配零个或多个后续出现的 1+ 个空格和 1+ 个 ASCII 字母。

于 2018-06-15T11:38:48.500 回答