Regex 将美元符号转换为\(\)

Regex 将美元符号转换为\(\),regex,latex,Regex,Latex,我需要将包含带有美元符号符号表示法$myformula$的数学的纯文本文件转换为\(myformula\)表示法。但是,我希望不要替换双美元符号$$myformula$$ 到目前为止,我一直在手工做这件事,找到一个方法,用开头语法\(和所有其他的美元符号用结束语法\)替换所有的美元符号,并手工纠正剩余的错误(如行首、双美元符号)。我认为我可以使用一个regex命令通过终端转换多个文件,这将大大加快速度 下面是一个示例,它的外观和外观如下: 之前: 这是$a+b{k}+c$句子 另一个测试$s\u

我需要将包含带有美元符号符号表示法
$myformula$
的数学的纯文本文件转换为
\(myformula\)
表示法。但是,我希望不要替换双美元符号
$$myformula$$

到目前为止,我一直在手工做这件事,找到一个方法,用开头语法
\(
和所有其他的美元符号用结束语法
\)
替换所有的美元符号,并手工纠正剩余的错误(如行首、双美元符号)。我认为我可以使用一个regex命令通过终端转换多个文件,这将大大加快速度

下面是一个示例,它的外观和外观如下:

之前:

这是$a+b{k}+c$句子

另一个测试$s\uText{hi}+3$

$x=y$

$$y=z$$为什么

$$z=z$$

这可能是($3^2$,$x_1$)

之后:

这是\(a+b{k}+c\)句。
另一个测试\(文本{hi}+3\)。
\(x=y\)在那里。
$$y=z$$为什么?
$$z=z$$
这可能是(\(3^2\),\(x\u 1\)。


谢谢

正则表达式
\$([^\$]+)\$
替换
\\($1\)

详细信息

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)
  • ()
    捕获组
  • [^]
    匹配列表中不存在的单个字符
  • +
    在一次和无限次之间匹配
输入

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)
输出

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)
结果

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)

正则表达式
\$([^\$]+)\$
替换
\\($1\\)

详细信息

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)
  • ()
    捕获组
  • [^]
    匹配列表中不存在的单个字符
  • +
    在一次和无限次之间匹配
输入

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)
输出

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)
结果

$myformula$
Full match  0-11    `$myformula$`
Group 1.    1-10    `myformula`
\(myformula\)

正则表达式
([^\$])\$([^\$]+)\$([^\$])

Regex
(^\$[^\$])\$([^\$]+)\$([^\$]\$)

替代
$1\\($2\\)$3

有3个捕获组,非常混乱,但它似乎正是所需要的

首先捕获任何不是
$
的字符,然后捕获任何由
$
包装的字符,然后捕获另一个不是
$
的字符,并将其全部替换为括号中的第二组,由第一组和第三组包装

编辑:第一个捕获组还应检查文件开头的
^
,第三个组应检查文件结尾的
$
。新的演示中有一些例子,在我的第一句话中可能会被打断



正则表达式
([^\$])\$([^\$]+)\$([^\$])

Regex
(^\$[^\$])\$([^\$]+)\$([^\$]\$)

替代
$1\\($2\\)$3

有3个捕获组,非常混乱,但它似乎正是所需要的

首先捕获任何不是
$
的字符,然后捕获任何由
$
包装的字符,然后捕获另一个不是
$
的字符,并将其全部替换为括号中的第二组,由第一组和第三组包装

编辑:第一个捕获组还应检查文件开头的
^
,第三个组应检查文件结尾的
$
。新的演示中有一些例子,在我的第一句话中可能会被打断



谢谢!这几乎起作用了,除了双倍的美元被兑换了,他们不应该这样做。谢谢!这几乎起作用了,除了双美元被换掉了,这是不应该的。没问题,正则表达式可能会让人困惑,但一旦你能理解它,它就会非常强大。确保你看到了我的编辑,这样你就不会遇到我注意到的问题。没问题,正则表达式可能会让人困惑,但一旦你能理解它,它就会非常强大。确保您看到我的编辑,以免遇到我注意到的问题。您还应将
$$
..
$$
更改为
\[
..
\]
。请参见,您还应将
$$
..
$
更改为
\[
..
\]
。看见