我需要一个匹配everything
(任何字符)的正则表达式:
everything.html
everything
匹配.+
直到.html
或字符串结尾
.html
是可选的,但如果存在,则停止匹配。
答案 0 :(得分:3)
您可以使用:
^.+?(?=\.html|$)
(?=...)
是一个向前看,如果当前角色之后的内容与前瞻中的内容相匹配,它将匹配,而不“选择”这些字符。这是零宽度检查.+?
将匹配所有内容(至少一个字符),但会在第一次出现.html
时停止(因此避免匹配123.html123
中的123.html123.html
)^$
匹配字符串的开头和结尾请参阅demo here
关于您的解决方案,[^...]
代表“一个字符,除了其中一个字符之外的任何字符”。