正则表达式:如何排除尾随的星号(如果存在)?

时间:2018-10-31 21:13:04

标签: regex google-sheets

我有一些这样的数据:

Scott Palk, Western District of Oklahoma*

并且要编写一个仅与Western District of Oklahoma匹配且不带星号的正则表达式(使用REGEXTRACT)。但是有时数据的末尾没有星号,例如:

Matthew Kacsmaryk, Northern District of Texas

像上面一样,我要匹配Northern District of Texas

我可以编写一个正则表达式用于这两种情况下的两者吗?我已经尝试过'([^,]*)\*?$',但是在第一个示例中也与星号匹配。

使用类似'[^,]([[:alpha:]]+ ?)\*$'之类的方法也不起作用。它仅匹配最后一个单词,例如Oklahoma*的星号。救命!

2 个答案:

答案 0 :(得分:1)

简单的事情

^.*, ([^*]+)\*?$

应捕获带有或不带有尾号的文本。

答案 1 :(得分:0)

如果您想捕获“,”和“ *”之间的任何文本/空格,可以尝试这样的操作

^.*,\s([\w\s]*)\*?$