我在使用regexp时遇到了一些麻烦...
我已经尝试了一些使用正则表达式生成器的网站,但没有人帮助过我......所以......我在这里......
我需要一个正则表达式,只能抓住管道前的前两个字符串......
所以基本上我只想留下来:
INPUT:String_1 String_2 | String_3 String_4
OUTPUT:String_1 String_2
这个人抓住所有单词..([A-Z])\ w +我只需要管道前的信息...:'(
全部谢谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
只需你可以这样做,
.*?(?=\s*\|)
答案 2 :(得分:0)
你可以使用非贪婪的正则表达式来做到非常简洁:
([\S\s]+?)\|
将获取管道前的所有内容
答案 3 :(得分:0)
我会对管道进行拆分,但是如果你真的想要一个正则表达式:
^([^|]+)
这将捕获(在第1组中)从字符串开头不是管道的所有内容。
如果你想捕获两组:
^([^|]+) | (.*)$
举个例子,
String_1 String_2
将在第1组中,String_3 String_4
将在第2组中。
实施取决于您使用的语言 例如,在PHP中:
$str = 'String_1 String_2 | String_3 String_4';
preg_match('/^([^|]+) | (.*)$/', $str, $match);
//$match[1] : String_1 String_2
//$match[2] : String_3 String_4