我在javascript中有以下内容,它适用于这种情况;
http://www.google.com
/(^|<|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|>|$)/g
但它失败了:
Http://www.google.com
有没有办法让我的陈述不区分大小写。
答案 0 :(得分:6)
您可以为忽略大小写匹配添加i flag
:
/(^|<|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|>|$)/ig
答案 1 :(得分:1)
即使投票是为了添加i
标志(这是一个非常有效的解决方案),我也会指出保留正则表达式并调用{{1}更有效率在你的字符串上运行它之前通过正则表达式IFF这是一个选项。
toLowerCase()
答案 2 :(得分:0)
使用以下行
/(^|<|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|>|$)/i
/ g启用“全局”匹配。使用replace()方法时,请指定此修饰符以替换所有匹配项,而不是仅替换第一个匹配项。 / i使正则表达式匹配不区分大小写。 / m启用“多行模式”。在此模式下,插入符号和美元在主题字符串中的换行符之前和之后匹配。