Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Regex 替换括号前的空格_Regex_Notepad++ - Fatal编程技术网

Regex 替换括号前的空格

Regex 替换括号前的空格,regex,notepad++,Regex,Notepad++,我正在尝试学习正则表达式,我希望使用记事本++正则表达式搜索和替换将开括号前的所有空格替换为下划线 目前,我的正则表达式只替换紧靠开括号前面的空格 前:FIRST MIDDLE LAST(“,”) 应为:FIRST\u MIDDLE\u LAST(“,”) 我尝试的正则表达式:\s+(?=\() \s+匹配一个或多个空格 (?=\()是一个积极的前瞻,使用\((开括号)作为字符 任何人都可以解释一下正确的正则表达式应该是什么吗?提前谢谢!如果我理解正确,这应该适用于您: 查找\b\s+(?=.*

我正在尝试学习正则表达式,我希望使用记事本++正则表达式搜索和替换将开括号前的所有空格替换为下划线

目前,我的正则表达式只替换紧靠开括号前面的空格

前:
FIRST MIDDLE LAST(“,”)

应为:
FIRST\u MIDDLE\u LAST(“,”)

我尝试的正则表达式:
\s+(?=\()

\s+
匹配一个或多个空格
(?=\()
是一个积极的前瞻,使用
\(
(开括号)作为字符


任何人都可以解释一下正确的正则表达式应该是什么吗?提前谢谢!

如果我理解正确,这应该适用于您:

查找
\b\s+(?=.*?\()
替换:
\u


也就是说,单词边界后的所有空格,在第一次出现一个开始括号之前,后面还会跟几个字符,但不是选择的一部分。

我想
\s+(?=[^()]*\()
@thg435有答案,请使用来测试。可能的更正是
\s+(?=[^()]*\()
因为我们只是在寻找一个左括号。@Rossiar:不,我认为
[^()]
更好,
[^(]
foo)bar(
转换为
foo)bar(
)-看起来不对!@thg435谢谢,这个正则表达式很有用。