在javascript正则表达式中选择任何符号

Olg*_*lga 4 javascript regex

我有一个包含这样的字符串

"... /\*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 startFOOendBARendBAZin startBARendBAZend.

 /start(.*?)end/
Run Code Online (Sandbox Code Playgroud)

将匹配FOOin startFOOendBARin startBARendBAZend.

该点匹配除换行符号(\n)之外的任何内容.如果您想要捕获换行符,请将dot替换为[\s\S].此外,如果您不允许匹配为空(如startend),请使用+而不是*.

有关详细信息,请参阅http://www.regular-expressions.info/reference.html.


Sam*_*lgh 5

我不确定我是否理解你所说的“符号”是什么意思,如果你有什么意思,那就是点.匹配的意思

你想这样做吗?

var regex = /start(.*)end/; 
var templateCode = myString.match(regex);
Run Code Online (Sandbox Code Playgroud)


yay*_*aya 5

要匹配任何字符,不应使用点运算符 ( .),因为它不匹配换行符。要包含换行符,请使用.|[\r\n](字符或换行符)或[\s\S](空格或非空格字符)。

var regex = /start[\s\S]*end/;
var templateCode = myString.match(regex);
Run Code Online (Sandbox Code Playgroud)