Java正则表达式问题

标签 java regex

我正在处理这段代码,检查一行 actionscript 3 代码是否存在正在迭代的集合中的类型(MovieClip、Sprite 以及类路径中定义的自定义类)。

for (String type: typeList) {
    if (input.contains(type)) {
        // dome something here
    }
}

问题是,一些自定义类型名称还包含另一种类型的名称:

Custom type: fSceneController
Contains flash type: Scene

所以 .contains 方法将无法正常工作。我正在考虑在循环中使用正则表达式,其中模式检查类型并确保在类型之前或之后没有 a-zA-Z0-9。

Pattern p = Pattern.compile("<stuff here>"+ type + "<more stuff here>");

任何人都可以帮助我确定我应该在类型之前和之后放置什么,以便可以将类型本身与可能包含部分文本的其他类型区分开来吗?

或者建议我可以使用不同的方法来实现相同的目标?

最佳答案

不确定我是否清楚您要做什么,但我认为这就是您所缺少的

如果你想要正则表达式中的一个词并且只是这个词,那么把\b 放在前面和后面,例如

\bhe\b will only match the first of...

he
she
the
they

关于Java正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1131616/

相关文章:

java - 滑动选项卡时更改菜单项

java - System.arraycopy问题

sql - PostgreSQL - 忽略 LIKE 表达式中的字符序列

javascript - 检测字符串中是否存在确切的数字

regex - 为什么在我的正则表达式模式中使用 POSIX 字符类会产生意想不到的结果?

java - 匹配 float 或整数

java - 带有进度对话框android的泄漏窗口错误

java - java中的快速语义角色标记工具

java - JTable 中的依赖列

c# - 使用 xsd 模式将 xml 数据中的黑名单字符