正则表达式查找数字后跟字母[关闭]

2024-05-21

我是正则表达式的新手,所以对愚蠢的问题表示歉意;)

  1. 如何识别字符串包含数字后跟字母?例如,在这个地址中"Flat 3a Butterfly Street"我需要识别该字符串包含3a.
  2. 我还需要确定字符串是否包含单词"-".

你的问题不太清楚,但我会写下我所理解的。如果您想查找后面跟着字母的每个数字,您可以执行以下操作:

    String regEx = "\\d[a-zA-Z]";
    String s= "Flat 3a Butterfly Street";
    Pattern pattern = Pattern.compile(regEx);
    Matcher matcher = pattern.matcher(s);

    while (matcher.find()) {
        System.out.println(matcher.group());
    }

如果字符串是“Flat 123a Butterfly Street”,那么上面的答案仍然会再次返回“3a”。如果您喜欢“123a”,那么您可以将正则表达式更改为

    String regEx = "\\d+[a-zA-Z]";

这样你就可以检索所有数字。如果目标字符串中也可能存在负号,则正则表达式可能会变为:

    String regEx = "-?\\d+[a-zA-Z]";

关于你的第二个问题,你应该匹配除空格(正则表达式中的\s)之外的任何字符,直到找到“-”,然后你将再次匹配除空格之外的任何字符以获得整个单词。您可以尝试以下操作:

    String regEx = "([^\\s]*)-([^\\s]*)";
    String s= "Fla-t  3-a Butte -rfl-y Street-";
    Pattern pattern = Pattern.compile(regEx);
    Matcher matcher = pattern.matcher(s);

    while (matcher.find()) {
        System.out.println(matcher.group());
    }

以下示例可能会返回单词“Fla-t”、“3-a”、“-rfly-f”、“Street-”。

您可以参考这个网站 http://www.vogella.com/tutorials/JavaRegularExpressions/article.html开始学习更多关于正则表达式的知识。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式查找数字后跟字母[关闭] 的相关文章

随机推荐