我有一个包含这样的字符串
"... /\*start anythingCanBeEnteredHere end\*/ ..."
我需要一个只获取 anythingCanBeEnteredHere
部分的正则表达式,它可以是任意数量符号的集合。
问题是我找不到任何可以选择任何符号的快捷方式/标志
到目前为止我使用这个正则表达式
var regex = /start([^\~]*)end/;
var templateCode = myString.match(regex);
[^\~]
选择除 "~"
之外的任何符号(这是一个 hack)并且工作正常,但我真的需要所有符号。
我也试过这个 [^]
但它不能正常工作。
最佳答案
/start(.*)end/
将匹配 startFOOend
中的 FOO
和 startBARendBAZend
中的 BARendBAZ
。
/start(.*?)end/
将匹配 startFOOend
中的 FOO
和 startBARendBAZend
中的 BAR
。
点匹配除换行符 (\n
) 之外的任何内容。如果您还想捕获换行符,请将点替换为 [\s\S]
。此外,如果您不允许匹配项为空(如 startend
),请使用 +
而不是 *
。
参见 http://www.regular-expressions.info/reference.html了解更多信息。
关于javascript - 选择javascript正则表达式中的任何符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8940553/