用于文本下划线的正则表达式
RegEx for underlining text
如何将一行文本与正则表达式匹配,并在其后跟一行与初始匹配中的字符一样多的破折号,以实现 text-only 下划线。我打算将其与编辑器中的搜索和替换功能(可能在宏范围内)一起使用。可能,但不一定,Visual Studio代码。
This is a heading
应该变成
This is a heading
-----------------
我想我几年前读过一个例子,但找不到了;我似乎也无法制定搜索查询以从 Google 中获得任何有用的信息(包括问题标题的变体)。如果你是,我也会对此感兴趣。
我能想到的最好的是:
^(.)(?=(.*\n?))|.
- 换人
-
syntax
note
^(.)
match the first character of a line, capture it in group 1
(?=(.*\n?))
then look ahead for the rest of this line and capture it in group 2, including a line break if there's any
|.
or a normal character
但文字后面必须有换行符,否则下划线只停留在同一行。
不确定它是否有用,但这是 test cases。
如何将一行文本与正则表达式匹配,并在其后跟一行与初始匹配中的字符一样多的破折号,以实现 text-only 下划线。我打算将其与编辑器中的搜索和替换功能(可能在宏范围内)一起使用。可能,但不一定,Visual Studio代码。
This is a heading
应该变成
This is a heading
-----------------
我想我几年前读过一个例子,但找不到了;我似乎也无法制定搜索查询以从 Google 中获得任何有用的信息(包括问题标题的变体)。如果你是,我也会对此感兴趣。
我能想到的最好的是:
^(.)(?=(.*\n?))|.
- 换人
-
syntax | note |
---|---|
^(.) |
match the first character of a line, capture it in group 1 |
(?=(.*\n?)) |
then look ahead for the rest of this line and capture it in group 2, including a line break if there's any |
|. |
or a normal character |
但文字后面必须有换行符,否则下划线只停留在同一行。
不确定它是否有用,但这是 test cases。