Java正则表达式::字符串每行中的第一个单词
让我们看一下以下字符串:Java正则表达式::字符串每行中的第一个单词,java,regex,Java,Regex,让我们看一下以下字符串: String input = "A bla bla bla A blaa\r\n" + "B boo foo A B abo \r\n" + "A yow B B yow"; 这是我的正则表达式: String regex = "([AB]) (.*?)(?=$|[AB])"; 我对每个“A”或“B”都很满意 但我要寻找的是,只有当它是我字符串每行的第一个单词时,才能得到“A”或“B” 提前感谢。模式:
String input = "A bla bla bla A blaa\r\n" +
"B boo foo A B abo \r\n" +
"A yow B B yow";
这是我的正则表达式:
String regex = "([AB]) (.*?)(?=$|[AB])";
我对每个“A”或“B”都很满意
但我要寻找的是,只有当它是我字符串每行的第一个单词时,才能得到“A”或“B”
提前感谢。模式:
([AB]).*匹配:
1) A&A布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉
2) 布福早餐酒店 3) A&A yow B yow
解释你需要什么。查找结果:您需要在此处完成两件事:
- 启用模式
- 使用
仅在开头匹配^
AB
"(?m)^[AB]"
提示:
^
匹配行的开头。边界匹配器如何@ArnaudDenoyelle您应该指定需要多行模式:)再次感谢。它帮助了我。但你能解释一下,多行到底做什么?我无法从Java文档中理解它。@RohitJain Lol,我感到困惑=P@yataodev多行允许您执行由\n
或\r\n
分隔的匹配accors行。在这些情况下,^
和$
不仅匹配整个字符串的开头和结尾,而且匹配由\n
分隔的每个字符串的开头和结尾。其他锚点\A
和\Z
接管^
和$
以匹配整个字符串的开头和结尾。@Rohit好的,我明白了:)Thanks@Rohit如何将多行与DOTALL组合?我想用第二行获得第三行,如下面的示例:“String input=”A bla bla A blaa\r\n“+”B boo foo A B abo\r\n“+”科比•布莱恩特\r\n“+”A yow B yow”我不认为那是OP想要的。