Java正则表达式在字符串中某个单词前后获得2个字符串

史蒂夫

例如,我有以下文本和电子邮件:

String text ="For move information please contact us: [email protected], ask Peter to help."
String email="[email protected]";

因此,我想得到两个10个字符大小的字符串,一个来自电子邮件的左侧,另一个来自右侧。结果我想看左-联系我们::,问皮特

现在,while循环中的matcher.find()返回false结果,leftContextrightContext均为null。

这是我的代码:

String email = "[email protected]";
int nLeft = 5;
int nRight = 5;
String leftContext;
String rightContext;

String wordDelRegEx = "[^а-яА-Яa-zA-Z0-9.-]+?";
        String leftRegEx = "(\\w{" + nLeft + "})";
        String rightRegEx = "(\\w{" + nRight + "})";

        //matches something like: aaaaaaa [email protected] bbbbbbbbbb
        String contextRe = leftRegEx + wordDelRegEx +email + wordDelRegEx + rightRegEx;

        String h ="For move information please contact us: [email protected], ask Peter to help."
        Pattern pattern = Pattern.compile(contextRe);
        Matcher matcher = pattern.matcher(h);

        while (matcher.find()) {
            leftContext = matcher.group(1);
            rightContext = matcher.group(2);
        }

        System.out.println("Left: " + leftContext);
        System.out.println("Right: " + rightContext);
汉斯拉吉

使用以下命令,因为您的字符串包含冒号(:),逗号(,)和空格(\ s):

没有使用wordDelRegEx变量:

String leftRegEx = "([\\w\\s,:]{" + nLeft + "})";

String rightRegEx = "([\\w\\s,:]{" + nRight + "})";

//匹配类似内容:aaaaaaa [email protected] bbbbbbbbbb

String contextRe =leftRegEx+ email +rightRegEx;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式获取字符串直到 Perl 中的某个字符串

正则表达式在2个字符串之间匹配特定字符

正则表达式 - 获取 2 个字符串之间的字符串

正则表达式提取2个字符串之间的字符串,其中包含第3个字符串

正则表达式; 在单个字符串中的2个特定单词之间找到一个或多个单词

在2个字符串之间的正则表达式中选择文本

如何使用正则表达式拆分2个字符串?

逗号分隔字符串的正则表达式(2个字符串,以逗号分隔)

某个字符串部分后的数字的正则表达式

Java正则表达式用于字符串中的多个字符串模式

正则表达式 - 匹配某个字符串并获取字符串的整数值

0或8个字符的正则表达式字符串

使用正则表达式排除字符串的前3个字符

正则表达式模式匹配并获得两个字符串

正则表达式匹配 2 个字符串 + Java 中的所有出现

正则表达式(正则表达式环顾四周),用于检测某个字符串,而不是位于某些字符串之间(向前和向后,单词不被单词包围)

如何将一个字符串中的某个单词替换为另一个单词,以及如何在原子正则表达式中排除某些特定类型的单词

正则表达式匹配 2 个字符之间的所有字符串

正则表达式,以匹配每行中除最后2个字符串以外的所有字符串<python>

正则表达式在字符串中查找(/替换)多个字符实例

PostgreSQL查询中字符串的最后n个字符的正则表达式

正则表达式忽略字符串中的前 12 个字符

正则表达式匹配字符串中的单个字符

从字符串正则表达式中修剪前几个字符

多个字符串在正则表达式中具有特殊字符

替换字符串末尾的字符,直到到达某个字符正则表达式

正则表达式匹配字符串中的2个不同的单词

编写正则表达式来定位字符串中的某个单词

使用正则表达式提取2个字符之间的所有子字符串组合