Javascript 正则表达式以匹配第一个也是唯一的字符/符号
我正试图在Javascript 正则表达式以匹配第一个也是唯一的字符/符号,javascript,regex,Javascript,Regex,我正试图在“123”=>“abc” 我的正则表达式 /\“*\”/g 不知怎的,这是行不通的,它捕捉到了最后一个“这样的东西可能会起作用: var pat = "(\\\".*\\\")\\s=>.*" ; var rex = new RegExp( pat, "gim" ) ; var rep = "$1" ; var res = txt.replace( rex, rep ) ; console.log( res ) ; 输出: "123" 源字符串将是var txt..使用以下正
“123”=>“abc”
我的正则表达式
/\“*\”/g
不知怎的,这是行不通的,它捕捉到了最后一个
“
这样的东西可能会起作用:
var pat = "(\\\".*\\\")\\s=>.*" ;
var rex = new RegExp( pat, "gim" ) ;
var rep = "$1" ;
var res = txt.replace( rex, rep ) ;
console.log( res ) ;
输出:
"123"
源字符串将是
var txt
..使用以下正则表达式并获得第一个匹配:
\“*?\”
*?量词-零次和无限次之间的匹配,尽可能少的匹配次数,根据需要扩展
例如:
注意:第一个匹配将返回匹配字符串的左侧。尝试*?(\“\d{3}\”
或者你可以
*?(\“\d{3}\”)
和替换<1美元
试试这个:
^\“*?\”
你需要用^表示行的开头。然后添加一个惰性量词你的问题很难理解你想要什么。请澄清。@AtaurRahmanMunna我想在“123”=>“abc”中得到“123”。这是你在问题中说的。我想从
中匹配“123”
,这很难理解吗123“=>“abc”
?我投票将此问题作为主题外的问题结束,因为在提出问题后更改要求是荒谬的。如果目标是“123”=>“abc”或其他内容,这将不起作用“
如果我的源代码是这样的话,效果就不好,不一致。@Jessie Anderson:你应该先发布这些信息。。。无论如何,将\\s
更改为\\s*
应该允许它工作。但它也没有排除这些,您应该首先将其包含在问题中。对于“1234”=>“右块”
,“1234”
也应该选择。您现在评论中的问题是,引用的部分不再从最左边开始,加上引用的部分不同;里面有一段时间。现在,您需要:\“*\。\w+\”