我正在清理一个 LaTeX 文件,我需要区分绝对值 |x| 来自集合“这样”的符号,即 {x | x < 0}。
我的第一步是找到所有包含奇数个 | 的行。字符(即管道符号)。
原则上,我知道如何做到这一点,但我尝试了以下正则表达式命令,但没有成功。
egrep '^[^\|]*\|([^\|]*\|[^\|]*\|)*[^\|]*$'
这个想法是匹配行按顺序包含:
- 线路开始
- 0 个或多个非管道字符
- 正好一个管道字符
- 0 个或多个文本副本,正好包含 2 个管道
- 线路结束
但是,由于某种原因,这不起作用。我在以下文件上运行命令:
\[
S = \{ x | x < 0}
y = |x|
\]
并且没有一条线匹配。
我怀疑我在某个地方犯了一个愚蠢的错误,可能与转义管道字符有关,但我不知道出了什么问题。
谁能告诉我如何解决这个问题,或者提供一个替代表达式来匹配包含奇数个管道字符的行?