ロドリゴ・B:
私はwikiマークアップを使用していますJiraのフィールドからユーザーの電子メールアドレスをつかむしようとしています。次のようにフィールドの内容は次のとおりです。
*User Email:* [[email protected]|mailto:[email protected]] *Tech Email:* [[email protected]|mailto:[email protected]]
私は同時に、「ユーザー」または「テックのメールの電子メール、どちらか一方にマッチする正規表現を作成する必要があります。私は、特にそれに一致する正規表現を作成することができませんよ。私は基本的な実装は、JavaのPatternクラスに基づいて、マッチを見つけるために、Matcher.find()を使用しているというツールを使用しています。
イリヤ・ルイセンコ:
のみ、ユーザーの電子メールに一致するように、この式を試してみてください。
(?:User\sEmail:\*\s\[)([\w\-@.]+)
それがどのように動作するかここにあなたが見ることができます:https://regexr.com/51f8s
Javaの例:
List<String> items = Arrays.asList(
"*User Email:* [[email protected]|mailto:[email protected]]",
"*Tech Email:* [[email protected]|mailto:[email protected]]"
);
Pattern pattern = Pattern.compile("(?:User\\sEmail:\\*\\s\\[)([\\w\\-@.]+)");
for (String item : items) {
Matcher matcher = pattern.matcher(item);
if (matcher.find()) {
System.out.println("email: " + matcher.group(1));
}
}
出力:
email: [email protected]