Regex 正则表达式仅用破折号替换第一个空格

Regex 正则表达式仅用破折号替换第一个空格,regex,Regex,我只想用破折号替换行中的第一个空格。这有点复杂,因为解析器自动将/g应用于整行 样本输入: A1 B2字 期望输出: A1-B2字 我无法执行简单的/\s/-/操作,因为自动/g会将所有空格更改为破折号。我已经尝试过消极回溯法(?你可以尝试这样的方法: /^(\S*)\s/$1-/ ^指定行的开头,即匹配所有非空白字符的\S。这将假定您没有任何前导空白,否则您的第一个字符将替换为-。您可以使用^指示行的开头: /^.*?\s/$1-/ 什么语言?来自标记描述:“记住包含一个标记,指定您正在使

我只想用破折号替换行中的第一个空格。这有点复杂,因为解析器自动将/g应用于整行

样本输入: A1 B2字

期望输出: A1-B2字


我无法执行简单的/\s/-/操作,因为自动/g会将所有空格更改为破折号。我已经尝试过消极回溯法(?你可以尝试这样的方法:

/^(\S*)\s/$1-/

^
指定行的开头,即匹配所有非空白字符的
\S
。这将假定您没有任何前导空白,否则您的第一个字符将替换为-。

您可以使用
^
指示行的开头:

/^.*?\s/$1-/

什么语言?来自标记描述:“记住包含一个标记,指定您正在使用的编程语言或工具。”为什么解析器自动应用a/g?