繁体   English   中英

Java Groovy提取两个字符串

[英]java groovy to extract two strings

我有以下正则表达式来查找名为EXTRACT的单词,但我需要查找另一项名为REPLICAT的工作。 因此,REPLICAT | 提取。 如何在一个表达式中做到这一点。

def matcher =  rawTerminalText =~ /(?m)(EXTRACT +RUNNING +)(.*?\w)( +)(\d{2}):(\d{2}):(\d{2})( +)(.*?\w)( +)(.*?$)/

我尝试了以下操作,但无法正常工作。

def matcher =  rawTerminalText =~ /(?m)((^| )(REPLICAT|EXTRACT)+$ +RUNNING +)(.*?\w)( +)(\d{2}):(\d{2}):(\d{2})( +)(.*?\w)( +)(.*?$)/

我建议使用正则表达式测试站点,该站点在正则表达式上有解释,并允许使用示例文本进行测试。

我个人喜欢使用这个: https : //regex101.com/,因为它对书面正则表达式有很好的解释。

-------编辑-------

我认为您的空格字符不应该存在。 代替(REPLICAT | EXTRACT + RUNNING +),使用(REPLICAT | EXTRACT + RUNNING +)

-----结束编辑-----

您是否只想知道字符串中是否存在那些给定的单词? 然后使用下面的正则表达式?

def rawText=" The Word which i am looking for is, REPLICAT and EXTRACT"
def Word= /^.*\b(REPLICAT|EXTRACT)\b.*$/;
def findWord= (rawText =~ /$Word/);
log.info  findWord.count;

    Output:
    count will return 1: found
    count will return 0:not found

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM