我可以使用switchaubcsp-loafsyvgvhv
这样的字符串,它可能包含以下任何模式:s-loaf
,p-loaf
等。
以下是详细要求:
1st character - Any of [p,s,a,r,l],
2nd character -> [-], Followed by Word [loaf].
在上面的示例中,搜索[p-loaf]
时,找到文本p-loaf
从 11 索引开始,到索引 17 结束{ {1}}。
查找第一个字符为java.util.regex
的正则表达式是什么。
答案 0 :(得分:3)
<object>
如果您希望单词从该单词开始,请将[psarl]-loaf
添加到开头,如果您希望单词以结尾,请将^
添加到结尾。
你可以在这里试试demo regex
答案 1 :(得分:1)
import java.util.regex.*;
public class RegexExamples {
public static void main(String[] args) {
RegexTag("devicexyzas-loafcdbdd", "[psarl][-]loaf");
}
public static void RegexTag(Stri`enter code here`ng Content, String PatternToMatch){
Pattern pattern;
try {
pattern = Pattern.compile(PatternToMatch);
}
catch (PatternSyntaxException e)
{
System.err.println ("Regex syntax error: " + e.getMessage ());
System.err.println ("Error description: " + e.getDescription ());
System.err.println ("Error index: " + e.getIndex ());
System.err.println ("Erroneous pattern: " + e.getPattern ());
return;
}
Matcher matcher = pattern.matcher(Content);
System.out.println ("Regex = " + Content);
System.out.println ("Text = " + PatternToMatch);
System.out.println ();
while (matcher.find()) {
System.out.println("Found the text \"" + matcher.group()
+ "\" starting at " + matcher.start()
+ " index and ending at index " + matcher.end());
}
}
}