Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“正则表达式不工作”;内;javascript字符串_Javascript_Jquery_Regex - Fatal编程技术网

“正则表达式不工作”;内;javascript字符串

“正则表达式不工作”;内;javascript字符串,javascript,jquery,regex,Javascript,Jquery,Regex,我试图用替换文本字符串中对[b]的所有提及。我在下面使用的问题是,它会替换页面上的每一个[b],我只希望它更改我发送的文本字符串(“文本”)中的[b] 在正则表达式中去掉global的“g”并不能很好地工作,因为它不能完全取代它们 text = $("#input").val(); text = text.replace(new RegExp('(^|\\s|>)\\[b](\\S.*?\\S)\\[/b]($|\\s|<)', 'gim') , '$1<strong>

我试图用
替换文本字符串中对[b]的所有提及。我在下面使用的问题是,它会替换页面上的每一个[b],我只希望它更改我发送的文本字符串(“文本”)中的[b]

在正则表达式中去掉global的“g”并不能很好地工作,因为它不能完全取代它们

text = $("#input").val();

text = text.replace(new RegExp('(^|\\s|>)\\[b](\\S.*?\\S)\\[/b]($|\\s|<)', 'gim') , '$1<strong>$2</strong>$3');
text=$(“#输入”).val();

text=text.replace(新的RegExp(“(^\\\s|>)\\[b](\\s.*?\\s)\[/b]($\\\\s|我不太确定问题出在哪里,因为问题有点不清楚。您是否试图用新的html标记替换textarea中的内容

以下代码目前正在我的生产中使用:

text = $("#contract_body").val();  // strore the current contents
text = text.replace(/\[b\](.*?)\[\/b\]/gim, "<strong>$1</strong>");  // replace bbcode with html tags
$("#contract_body").val(text);  // update the textarea with the new string contents
text=$(“#合同_正文”).val()//strore当前内容
text=text.replace(//\[b\](.*)\[\/b\]/gim,“$1”);//用html标记替换bbcode
$(“#contract_body”).val(text);//使用新字符串内容更新textarea

我希望这会有帮助。

试试
text=text。替换(/(^\s|>)\[b\](.*)\[\/b\]($\s)你说的“在页面上”和“在文本字符串内”是什么意思?替换操作在
text
变量上进行,因此如果该变量包含整个页面,显然它将在整个页面内进行替换。在进行替换之前如何设置
text
?它是我通过jquery.text()传入的元素的输入值或文本@Tim是的,你能发布几个合理的输入示例吗?或者我们应该自己发明它们吗?除非你这么做,否则你不会得到答案。@Tim你的正则表达式做得很好:。问题出在其他地方。请尝试在局部范围内定义
text
变量。