【发布时间】:2014-11-18 16:55:34
【问题描述】:
我正在尝试使用正则表达式来查看是否有一个包含'*' 和'*' 的字符串的单词既不能是单词的开头,也不能是单词的中间;
例如:
ip* -> match
ip*5p -> not match
*ip -> not match
this is ip* -> match
give me *ip not here -> not match
我尝试了表达:
p = r'(?!\*).*\b\*'
但在“ip*5p”的情况下它失败了,它认为它是匹配的。
但如果我添加“词尾”即 '\b'
p = r'(?!\*).*\b\*\b'
在所有情况下都失败了,因为什么也没找到。
我也试过了
p = r'(?!\*)\b.*\*'
但仍然无法正常工作。 有什么提示吗?
注意:字符串必须只有一个 * 符号。
【问题讨论】:
-
字符串可以包含多少个
*字符?总是只有一个吗? -
@AvinashRaj 是的,这是一场比赛
-
您是要捕获整个字符串,还是只捕获以星号结尾的单词?
-
那你选错了答案,@JudyJiang。如果星号不止一个,Avinash Raj 的任何一种模式都不会打破这种模式。
标签: python regex word wildcard