gpt4 book ai didi

java - 正则表达式查找数字后跟字母

转载 作者:行者123 更新时间:2023-12-01 18:00:53 25 4
gpt4 key购买 nike

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

  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-”。

您可以引用this site开始了解有关正则表达式的更多信息。

关于java - 正则表达式查找数字后跟字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41073073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com