当我搜索某些内容时,我在这个网站上找到了一个已回答的问题.其中2个答案包含
/([^.]*)\.(.*)/
他们的答案.问题位于查找和替换jquery.我是javascript的新手,所以我想知道,这是什么意思?谢谢.
Veg*_*sen 31
/([^.]*)\.(.*)/
Run Code Online (Sandbox Code Playgroud)
让我们解构它.开始和结尾斜杠是分隔符,标记正则表达式的开头和结尾.
然后是一个带括号的组:([^.]*)parentheseis只是将一个字符串组合在一起.方括号表示"字符组",表示该组中的任何字符都被接受.然而,这个群体被第一个角色所否定^,这颠倒了它的意义.由于否定旁边的唯一字符是句点,因此匹配不是句点的单个字符.方括号*后面是(星号),这意味着方括号可以匹配零次或多次.
然后我们到了\..这是一个逃脱的时期.正则表达式中的句点具有特殊含义(转义时或字符组中除外).这与文本中的文字句点匹配.
(.*)是一个新的禁止子组.这一次,句点匹配任何字符,星号表示可以根据需要重复多次.
总之,表达式查找任何字符序列(不是句点),后跟一个句点,后面跟着任何字符.
编辑:删除了有关缩短的部分,因为它违背了正则表达式的假定目的.
原版的: /([^.]*)\.(.*)/
将其拆分为:
[1] ([^.]*) :表示匹配除. [ period ]
[2] 以外的所有字符\. :匹配句点
[3] (.*):匹配任何字符
所以它变为[1]匹配所有不是. [ period ] [2]的字符,直到找到.[ period ]然后[3]匹配所有字符.