当一切都很简单时,我们就有了一个正则表达式/ [^ A-Za-z0-9] / 匹配后,我们将用下划线代替
American Football # American_Football
Mini Golf # Mini_Golf
但是,我们不希望它匹配
AR/ VR
我以为后面的小物件可以工作,但是a ...为什么后面的小物件不能返回并确保\/\s
不匹配?
[^A-Za-z0-9](?<!\/\s)
谢谢
答案 0 :(得分:1)
[^A-Za-z0-9](?<!\/\s)
与/
中的AR/ VR
匹配,因为它不是以/
开头的空格,请参见this demo:
您似乎只想在字母数字字符之间匹配一个非字母数字字符:
/(?<=[A-Za-z0-9])\W(?=[A-Za-z0-9])/
请参见this regex demo。
详细信息
(?<=[A-Za-z0-9])
-在此之前,必须有一个字母数字字符\W
-非单词char(非字母,非下划线)char (?=[A-Za-z0-9])
-之后,必须有一个字母数字字符。