栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将javascript regex转换为安全的Java regex?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将javascript regex转换为安全的Java regex?

摆脱正斜杠。您不需要Java中的代码。而且,Java的正则表达式风格无法识别诸如

/g
和的开关
/i
。这些由中的常量控制
java.util.regex.Pattern

在Java世界中唯一有意义的Javascript正则表达式开关是

/i
/m
。它们映射到
Pattern.CASE_INSENSITIVE
Pattern.MULTILINE
(您可以在从
Pattern
类中创建正则表达式时使用这些开关,也可以内联使用它们-
稍后再说明)。

/g
不映射到任何东西,但你可以控制使用替代行为
String.replaceAll
String.replaceFirst

要使代码正常工作,您必须执行以下操作:

strOutput.replaceAll("{{[^]*?}}", "");

如果要使用开关,则需要

(?i)
在正则表达式的开头添加类似内容。

您不能使用,

String.replace
因为它
CharSequence
为第一个参数而不是正则表达式输入a。

还请记住,

String
该类提供的“快速正则表达式”方法可能无法按您期望的那样工作。这是因为,例如,当您指定一个模式(例如
abc
)作为正则表达式时,
matches
Java看到的实际模式是
^abc$
。所以
abc
会匹配,但
abcd
不会。

有更多的信息在这里。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号