我有一些包含多个可能值的字符串:
e
(space)Exact
Exact
exact
phase
我想只得到前四个值,我想出的正则表达式是:
^\s*e
它意味着在字符串的开头它有0个或更多的空格,后跟e(或E,不区分大小写),但它总是过滤掉案例
(space)Exact
我的猜测是^
而不是字符串的开头。我怎么能纠正这个?我使用Perl兼容正则表达式(PCRE)作为匹配引擎。
答案 0 :(得分:1)
尝试使用正则表达式中的模式修饰符在换行符处打开^ $ match;并且,如果必要,也不区分大小写
(?mi)^\s*e
答案 1 :(得分:0)
^字符仅表示字符串的开头。新行的开头不算作字符串的开头。所以如果不止一个人在同一个"字符串"宾语。不确定pcre是如何工作的,但如果你想能够匹配一条线的乞讨,你也必须启用多线标志。
编辑:如果您想要获取新行的开头,请转到此路线:\r\n
在表达式的开头,然后删除" ^"
编辑#2(因为我觉得要做正则表达式):这是你正在寻找的东西:
(\b)[eE]+\w*