[英]How do i extract a string containing digits and characters, using regex in java
我有可變數據,我想提取一個長度為6個字符的字符串(包含數字和字符)。
Sample_data =您的設置地址為6B1BC0 TSTSB NFPSNC92
Sample_data2 =您的設置地址為3EC810 P-22A LS02 STA-0213 TSTSA
我的樣本數據的所有字符串都是可變的,除了“ YOUR SET ADDRESS IS”
我需要提取這6個字符的長字符串:“ 6B1BC0”和“ 3EC810”
這是我嘗試做過的事情,但沒有返回任何東西。 我如何修改它以返回“ 6B1BC0”
Pattern P = pattern.compile(“YOUR SET ADDRESS IS \\w+ ([A-Z0-9]{6})”);
Matcher n = p.matcher(result);
If(n.find())
{
return n.group(0);
}
Pattern P = pattern.compile(“YOUR SET ADDRESS IS\\s+([A-Z0-9]{6})”);
關於"YOUR SET ADDRESS IS ( [A-Z0-9]{6})*"
?
你快到了。 將模式固定為:
Pattern P = pattern.compile("YOUR SET ADDRESS IS ([A-Z0-9]{6})");
要么
Pattern P = pattern.compile("YOUR SET ADDRESS IS\\s+([A-Z0-9]{6})");
工作程序:
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Test
{
public static void main (String[] args) throws java.lang.Exception
{
Pattern p = Pattern.compile("YOUR SET ADDRESS IS\\s+([A-Z0-9]{6})");
Matcher n = p.matcher("YOUR SET ADDRESS IS 123456 FOO");
if (n.find()) {
System.out.println(n.group(1)); // Prints 123456
}
}
}
Pattern p = Pattern.compile("^[a-zA-Z]+([0-9]+).*");
Matcher m = p.matcher("aTesting123anythingTesting");
if (m.find()) {
System.out.println(m.group(1));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.