正则替换的替换式问题

2020-02-11 00:23:22 +08:00
 uti6770werty

学着用正则表达式来搜索文字,小小简单的已经能匹配上了
但是替换式不知道应该如何实现,看了文档,试着在测试器里折腾,终究过不了关,唯有求助发帖问。。。

第一个问题:如

\<\/p\>\d+\"\s*

可以匹配上

</p>95"  

(by the way:也同时匹配了“后面的空白字符,这个字符串是有后面空白字符的,所以加上了\s*)
求助: 替换成

</a>95"  

(不一定会是 95,所以用了 d+)

第二个问题:

</table>00'  

是用:

\</table\>\d+.*'

匹配上的,后面也有空白字符,但是我没用\s*,在测试器里也给我匹配上了,搞不懂为什么。。。
求助:

</table>00'$$

把后面的字符空白,替换成$$两个字符

1077 次点击
所在节点    问与答
3 条回复
yejianmail
2020-02-11 01:41:37 +08:00
你需要了解正则的分组概念
yejianmail
2020-02-11 01:46:15 +08:00
第二个问题看你正则如何用的,加上^$才表示全匹配
noqwerty
2020-02-11 02:27:21 +08:00
替换直接用分组就可以,取决于你用的语言 /软件具体的语法可能会有区别。

第二个问题我没能复现: https://regex101.com/r/hcidM6/1/

如果你 </table>00' 这一行后面还有一个单引号的话,那可能是 .* 匹配到了第一个单引号和后面的空格

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/643614

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX