Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python re将匹配字符串中的下划线或连字符_Python_Regex_Python 2.7 - Fatal编程技术网

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'替换为'-'