我有一个包含这样的字符串
"... /\*start anythingCanBeEnteredHere end\*/ ..."
Run Code Online (Sandbox Code Playgroud)
我需要一个只获取anythingCanBeEnteredHere部分的正则表达式,它可以是任意数量符号的集合.
问题是我找不到任何选择任何符号的快捷方式/标志
到目前为止,我使用这个正则表达式
var regex = /start([^\~]*)end/;
var templateCode = myString.match(regex);
Run Code Online (Sandbox Code Playgroud)
[^\~]选择除了"~"(这是一个黑客)之外的任何符号并且工作正常,但我真的需要所有符号.
我也尝试了这个,[^]但它不能正常工作.
geo*_*org 10
/start(.*)end/
Run Code Online (Sandbox Code Playgroud)
将匹配FOOin startFOOend和BARendBAZin startBARendBAZend.
/start(.*?)end/
Run Code Online (Sandbox Code Playgroud)
将匹配FOOin startFOOend和BARin startBARendBAZend.
该点匹配除换行符号(\n)之外的任何内容.如果您想要捕获换行符,请将dot替换为[\s\S].此外,如果您不允许匹配为空(如startend),请使用+而不是*.
有关详细信息,请参阅http://www.regular-expressions.info/reference.html.
我不确定我是否理解你所说的“符号”是什么意思,如果你有什么意思,那就是点.匹配的意思
你想这样做吗?
var regex = /start(.*)end/;
var templateCode = myString.match(regex);
Run Code Online (Sandbox Code Playgroud)
要匹配任何字符,不应使用点运算符 ( .),因为它不匹配换行符。要包含换行符,请使用.|[\r\n](字符或换行符)或[\s\S](空格或非空格字符)。
var regex = /start[\s\S]*end/;
var templateCode = myString.match(regex);
Run Code Online (Sandbox Code Playgroud)