我有一组字符串,其形式如下,X
表示任意单词
This is a string ((X.address)) test
This is a string ((X address)) test
This is a string (X address) test
This is a string (X.address) test
一旦X.address
或X address
被找到(包括前面的paranethes),我就要删除字符串的所有内容
This is a string
This is a string
This is a string
This is a string
这是我的出发点:
regex = r"\(X.address"
s = "This is a string ((X.address)) test"
re.split(regex, s)[0]
>> 'This is a string ('
它是有效的,但我需要对它进行概括,以便它搜索任意单词而不是X
,并考虑单词前面的一个或多个偏执词。你知道吗
你可以用
细节
\s*
-0+空格\(+
-1+(
字符[^()]*
-除(
和)
之外的任何0+字符\b
-单词边界(address
前面不能有其他字母、数字或下划线)address
-一个单词.*
-字符串末尾的任何0+个字符。你知道吗参见Python demo:
输出:
你可以
.+(?=\s\(+X(?:\.|\s)address)
说明:
.+
-匹配一个或多个字符(?=...)
-正面展望\s
-空白\(+
-匹配一个或多个(
X
-按字面意思匹配X
(?:...)
-非捕获组\.|\s
-匹配点.
或空格address
-按字面意思匹配address
Demo
使用
相关问题 更多 >
编程相关推荐