我想在python中使用正则表达式来查找所有以\
开头的单词
之后,正则表达式应该在匹配的单词中查找[
,然后用下划线替换它
以下是一个例子:
input_string = SomeText \Word[0] Word[3] \SomeText[123] SomeText[10] SomeText
output_string = SomeText \Word_0] Word[3] \SomeText_123] SomeText[10] SomeText
以下python代码将方括号替换为下划线:
output_string = re.sub(<regex>, '_', input_string)
我编写这个正则表达式是为了查找以\
开头的单词:
\\[^\s]+
https://regex101.com/r/d4YO9K/1
但现在我不知道如何找到方括号
有人能提出一些解决这个问题的办法吗
您可以定义一个函数,该函数接受match对象并返回替换字符串:
并将其作为替换参数传递给
re.sub
:您要匹配:
并替换为:
这是第1组中的任何一个,后面跟一个“u”
(
-组1的开始(?:^| )
-匹配字符串或空格的开头\\
-匹配反斜杠\w*?
-不贪婪地匹配0个或多个单词字符)
-第1组结束\[
-匹配a[See Regex Demo
请注意,您不应该命名变量
input
,它是内置函数的名称印刷品:
相关问题 更多 >
编程相关推荐