首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Regex:仅在单词开头查找匹配项

Java Regex:仅在单词开头查找匹配项
EN

Stack Overflow用户
提问于 2013-06-14 19:56:35
回答 4查看 131关注 0票数 0

例如,我有一组字符串:

代码语言:javascript
复制
"Abc zcf",
"Abcd zcf",
"Zcf Abc",
"Zcf Abcd",
"Test ez",
"Rabc Jabc"

如何在这个集合中找到任何以"abc“字符开头的单词?在我的示例中,它将是字符串

代码语言:javascript
复制
"Abc zcf",
"Zcf Abc",
"Abcd zcf",
"Zcf Abcd"
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-14 20:06:50

您需要匹配任何内容,后跟单词边界,然后是abc。您还希望以不区分大小写的方式完成此操作。模式

代码语言:javascript
复制
(?i).*\\babc.*

都会起作用的。一个简单的例子

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    final Pattern pattern = Pattern.compile("(?i).*\\babc.*");

    final String[] in = {
        "Abc zcf",
        "Abcd zcf",
        "Zcf Abc",
        "Zcf Abcd",
        "Test ez",
        "Rabc Jabc"};

    for (final String s : in) {
        final Matcher m = pattern.matcher(s);
        if (m.matches()) {
            System.out.println(s);
        }
    }
}

输出:

代码语言:javascript
复制
Abc zcf
Abcd zcf
Zcf Abc
Zcf Abcd

编辑

根据@fge关于匹配整个模式的评论,这里提供了一种在String中搜索模式的更简洁的方法。

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    final Pattern pattern = Pattern.compile("(?i)(?<=\\b)abc");

    final String[] in = {
        "Abc zcf",
        "Abcd zcf",
        "Zcf Abc",
        "Zcf Abcd",
        "Test ez",
        "Rabc Jabc"};

    for (final String s : in) {
        final Matcher m = pattern.matcher(s);
        if (m.find()) {
            System.out.println(s);
        }
    }
}

这将显示find abc,它的前面是\b -即单词abc。输出是相同的。

票数 3
EN

Stack Overflow用户

发布于 2013-06-14 20:01:01

您必须使用Pattern

代码语言:javascript
复制
final Pattern p = Pattern.compile("\\bAbc");

// ...

if (p.matcher(input).find())
    // match

仅供参考,\b是单词锚。Java对单词字符的定义是下划线、数字或字母。

票数 6
EN

Stack Overflow用户

发布于 2013-06-14 20:03:08

您可以使用:

代码语言:javascript
复制
if( maChaine.startWith("Abc") ) 
{ 

    list.add( maChaine ) ; 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17107941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档