python re将匹配字符串中的下划线或连字符
代码如下:python re将匹配字符串中的下划线或连字符,python,regex,python-2.7,Python,Regex,Python 2.7,代码如下: import re a = "safe-Zoned-area" b = "Safe-zoned-Area" print(re.search(a, b, re.IGNORECASE)) c = "safe_Zoned-area" d = "Safe-zoned-Area" print(re.search(c, d, re.IGNORECASE)) 我能够在第一个打印语句中匹配区分大小写的字符串 用户将在上述代码中提供输入,假设在上述代码示例中为变量d 有时用户进入安全分区。一些用户将
import re
a = "safe-Zoned-area"
b = "Safe-zoned-Area"
print(re.search(a, b, re.IGNORECASE))
c = "safe_Zoned-area"
d = "Safe-zoned-Area"
print(re.search(c, d, re.IGNORECASE))
我能够在第一个打印语句中匹配区分大小写的字符串
用户将在上述代码中提供输入,假设在上述代码示例中为变量d
有时用户进入安全分区。一些用户将进入安全分区区域
这里的要点是,我们应该在“安全”和“分区”以及“分区”和“区域”之间匹配用户输入的下划线或连字符
注意:这些是模式和文本中的变量
d=由我定义
c=从用户输入获取
请帮忙 将正则表达式定义为
r"Safe[-_]zoned[-_]Area"
在这里,[-\]
字符类将匹配-
或
见a:
我没有得到以下任何结果:
z=re.search(r'\w+\wAPP_ROLES\.\w+',text)
z=re.search(r'\w+\wROLES\.\w+',text) as APP_ROLES. Can anyone tell me what should I change in the first code. I need to put only APP_ROLES from the text.
鉴于我得到了以下方面的输出:
z=re.search(r'\w+\wAPP_ROLES\.\w+',text)
z=re.search(r'\w+\wROLES\.\w+',text) as APP_ROLES. Can anyone tell me what should I change in the first code. I need to put only APP_ROLES from the text.
将
-
替换为[-\]
您的问题不清楚:模式是如何编写的?在设计时手动,还是用户输入?其他可能的情况是什么?如果第一个分隔符是连字符,那么第二个分隔符是否也应该是连字符?pattern=“safe(-|)zoned(-|)area”
。然后re.search(模式、文本、re.IGNORECASE)
。那么我的第一个评论是正确的。我只是不明白为什么有相同的b
和d
变量。请参见@wiktor yes您的第一条评论是正确的answer@Manoj,请您解释一下print(re.search(d,c.replace('''u','-'),re.IGNORECASE))@asteroid4u而不是将所有'-'替换为'[-''.'我们将所有'''u'替换为'-'