有如下5种类型的文本,我想匹配后三种中的空格和_
,用regex.ai试了一下,结果也不理想。
xxx_xxx
xxx xxx
xxx _xxx
xxx_ xxx
xxx _ xxx
xxx(\s+_\s*|\s*_\s+)xxx
3 个赞
大佬666
这个也可以,但是分两类感觉更好
您之前的理解是对的,我上面回复的意思的(\s+_\s*|\s*_\s+)
VS (\s_\s)|(\s_)|(_\s)
两个正则表达式的区别如下:
(\s_\s)|(\s_)|(_\s)
只匹配如下三种情况:_空格
,空格_
,空格_空格
。如果您希望使用分两组的形式,该表达式还可以写作(\s?_\s|\s_\s?)
。(\s+_\s*|\s*_\s+)
要求_
一侧至少存在1个空格(无上限),另一侧空格可有可无。
具体区别,请看下列图解:
(\s_\s)|(\s_)|(_\s)
(\s+_\s*|\s*_\s+)
正则表达式中,
x+
表示 x 至少出现1次。等效于x{1,}
x*
表示 x 可不出现,也可出现1次,也可出现多次。等效于x{0,}
。x?
表示 x 要么不出现,要么只出现1次。等效于x{0,1}
1 个赞
类似问题找 AI 其实比较方便.
我昨天试了,帖子里删除的那个楼就是我问chatgpt的回答,然而发上来了以后验证了一下发现不对……反复给它指出来错误仍然无法给出正确答案
问题是:请给出一个能够匹配下列给定类型中后三个的表达式。
类型如下:
略
关键在于他能理解我在说什么,指出自己的错误的时候也能正确,唯独回答就不行了……