在String中搜索模式

时间:2018-01-02 04:59:22

标签: java regex search

我有一个包含多个单词的字符串对象。 从这个String我需要找到一个10个值的Alpha-Numeric值,它是大写字母。

模式可以变化,可以是其他10个值(包含任何字符和数字)

EX:

我的名字是蝙蝠侠。我是B012HIOL8L。

OutPut:B012HIOL8L

2 个答案:

答案 0 :(得分:2)

您可以使用此/[A-Z0-9]{10}/ RegEx来匹配长度正好为10个字符的字母数字子字符串。

以下是JavaScript中的示例实现。

var string = "My Name is batman. I am B012HIOL8L.";
var match = string.match(/[A-Z0-9]{10}/);
console.log(match[0]);

在Java中,您可以使用相同的正则表达式并使用Java Regex API来查找匹配项。请参阅下面的代码。

import java.util.regex.*;
class RegexTest {
  public static void main(String args[]) {
    String string = "My Name is batman. I am B012HIOL8L.";
    Pattern p = Pattern.compile("[A-Z0-9]{10}");
    Matcher m = p.matcher(string);
    while (m.find()) {
      System.out.println(m.group());
    }
  }
}

答案 1 :(得分:0)

你说:

  

模式可以变化,可以是其他10个值(包含任何值)   字符和数字)

所以你必须分别在regexCharacters之间写[A-Z] [0-9] String string = "My Name is batman. I am B012HIOL8L."; Pattern p = Pattern.compile("[A-Z0-9]{10}"); Matcher m = p.matcher(string); while (m.find()) { System.out.println(m.group()); } 10次,你可以使用这个[A-Z0-9] {10 }或([AZ] | [0-9]){10}。

@echo off
goto :MainFunction

:Func01
echo/
echo Running Func01
call echo Variable %~1 current value is %%%~1%%
echo/
set /P "%~1=Set new value for Variable %~1: "
goto :EOF

:MainFunction
echo This is the main function!
set "Var01=string01"
set "var02=string02"
echo Var01 is equal to %Var01%
echo Var02 is equal to %Var02%
call :Func01 Var01
call :Func01 Var02
echo Var01 is now equal to %Var01%
echo Var02 is now equal to %Var02%
goto :EOF

请阅读此文章了解更多信息numeric ranges