我一直在尝试在线使用Regex工具,但似乎没有工作。我很接近,但不确定我错过了什么。
这是文字:
瓦伦西亚,洛杉矶,加利福尼亚 - 地图
我想提取州的前两个字母(所以在“,”和“ - ”之间),在这种情况下是“CA”
到目前为止我所做的是:
[,/](.*)[-/]
$1
输出结果为:
加利福尼亚州洛杉矶
如果有什么我认为我至少会得到这个州。
答案 0 :(得分:2)
,\s*(\w\w)[^,]*-
将捕获第1组中的Ca
。
, comma
\s* whitespace
(\w\w) capture the first two characters
[^,]* make sure there's no comma up to the next dash
-
答案 1 :(得分:1)
,\s*(\S{2})[^,]*-
你只想参加第一场比赛。
答案 2 :(得分:0)
我假设你使用JavaScript。
你的正则表达式失败了,因为输入中有两个逗号。
一种可能的解决方法是将中间捕获从.
(任何字符)修改为[^,]
(除逗号之外的任何字符)。这将强制正则表达式仅匹配California
。
所以,试试[,/]([^,]*)[-/]
。这是demo的工作原理。
答案 3 :(得分:0)
您可以使用此正则表达式:
.*?,\s(\w\w)[^,]*-
$1
是您要查找的前两个字母。