簡體   English   中英

在Java正則表達式中獲取匹配的模式值

[英]Get matched pattern value in java regex

我正在用Java進行音譯,並且一切正常,但是具有匹配的模式會很好。 可能嗎?

例如:

GULEVSKAIA姓我生成了這樣的模式

(^g+(yu|u|y)l+(io|e|ye|yo|jo|ye)(v|b|w)+(s|c)+(k|c)+a(ya|ia|ja|a|y)(a)*)

我能以某種方式獲得實際匹配的信息嗎

G

ü

Ë

...

等等

如您所見,有時它不是一個字母。

您可以實現這一點,一旦匹配了模式,就可以使用Matcher類的group()方法檢索值為0的經過處理的字符串。 然后將該字符串轉換為chars數組並打印如下字符

  String line = "gulevskaia";
  String pattern = "(^g+(yu|u|y)l+(io|e|ye|yo|jo|ye)(v|b|w)+(s|c)+(k|c)+a(ya|ia|ja|a|y)(a)*)";


  Pattern r = Pattern.compile(pattern);
  Matcher m = r.matcher(line);

  if (m.find( )) {
     System.out.println("Found value: " + m.group(0) );
     char chars[] =m.group(0).toCharArray();
     for(int i=0;i<chars.length;i++)
         System.out.println(chars[i]);

  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM