何か?:Groovy正規表現のパターンマッチに名前付きグループがありますか?以下のような
def match = "John 19" =~ /(&name&)\w+ (&age&\d+)/
def name = match.name
def age = match.age
ではなく、私がすることができます、あなたは、Java 7+で使用していると仮定すると、
何か?:Groovy正規表現のパターンマッチに名前付きグループがありますか?以下のような
def match = "John 19" =~ /(&name&)\w+ (&age&\d+)/
def name = match.name
def age = match.age
ではなく、私がすることができます、あなたは、Java 7+で使用していると仮定すると、
を作った架空の&
オペレータのこのような何かを可能Groovyの構文は(あり
def matcher = 'John 19' =~ /(?<name>\w+) (?<age>\d+)/
if(matcher.matches()) {
println "Matches"
assert matcher.group('name') == 'John'
assert matcher.group('age') == '19'
}
else {
println "No Match"
}
をあなたはまだJavaの7上にない場合、あなたはこれが目に名前を付けていないthird party regex library
が必要と思います。do e基が、閉鎖が試合をparameterise行います
("John 19" =~ /(\w+) (\d+)/).each {match, name, age ->
println match
println name
println age
}
数値19を出力したい場合は、 'println" John 19 ".find(/(\ d +)/){it [2]}' –
Wow @SebastianVilstrupありがとうございます。 .. groovyは本当に混乱です! ;-) –
ない私が見てきたこと:
これは便利参照です。がんばろう。 –
regexpsを使ってこの種のマッチングを可能にする言語はありますか? – sp00m
Perl、python、ruby ...これはかなり標準的な正規表現の機能です。 – ataylor