2024-05-29 04:54:12 发布
网友
我试图创建一个regex来匹配一个在结尾有或没有撇号“s”的单词。在下面的例子中,我想添加一个regex,用regex替换撇号,以匹配一个撇号's'或一个's'。
Philip K Dick's Electric Dreams Philip K Dicks Electric Dreams
到目前为止,我正在尝试的是下面的内容,但我无法使它正确匹配。这里的任何帮助都很好。谢谢!
Philip K Dick[\'[a-z]|[a-z]] Electric Dreams
只需在regex模式中将撇号设置为可选。
就像这样:[a-zA-Z]+\'?s
[a-zA-Z]+\'?s
例如,使用测试字符串:
import re s1 = "Philip K Dick's Electric Dreams" s2 = "Philip K Dicks Electric Dreams" >>> re.findall("[a-zA-Z]+\'?s", s1) ["Dick's", 'Dreams'] >>> re.findall("[a-zA-Z]+\'?s", s2) ['Dicks', 'Dreams']
可以使用regex(\w+)'s来表示后跟's的任何字母。然后你可以用后面紧跟着s的单词替换。
(\w+)'s
's
s
>>> s = "Philip K Dick's Electric Dreams" >>> re.sub(r"(\w+)'s", r'\1s', s) 'Philip K Dicks Electric Dreams'
只需在regex模式中将撇号设置为可选。
就像这样:
[a-zA-Z]+\'?s
例如,使用测试字符串:
可以使用regex
(\w+)'s
来表示后跟's
的任何字母。然后你可以用后面紧跟着s
的单词替换。相关问题 更多 >
编程相关推荐