使用正则表达式替换字符串
我在“textarea”内有文本,并且尝试使用带有某些正则表达式的替换功能来删除: 之间的文本。这是我到目前为止所做的:
x = '<TEXTAREA style="DISPLAY: none" id=test name=test>teeeeessst!@#$%&*(LKJHGFDMNBVCX</TEXTAREA>';
x.replace('/<TEXTAREA style="DISPLAY: none" id=test name=test>.*</TEXTAREA>/s','<TEXTAREA style="DISPLAY: none" id=test name=test></TEXTAREA>');
I have text inside "textarea" and I was trying to remove the text between: <textarea></textarea>
using replace function with some regex. here is what I did so far:
x = '<TEXTAREA style="DISPLAY: none" id=test name=test>teeeeessst!@#$%&*(LKJHGFDMNBVCX</TEXTAREA>';
x.replace('/<TEXTAREA style="DISPLAY: none" id=test name=test>.*</TEXTAREA>/s','<TEXTAREA style="DISPLAY: none" id=test name=test></TEXTAREA>');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能想要这样的东西:
这将在多行字符串中不区分大小写地替换内容,并避免“.*”等内容的贪婪匹配
You'll probably want something like this:
This will replace things case-insensitively within multi-line strings and avoiding greedy matches of things like ".*"
第一个问题是你的正则表达式在引号内。它应该只是 /regex/ 不带引号。然后,您必须在正则表达式中的正斜杠之前添加反斜杠。
没有正则表达式标志“s”,所以我不知道你认为它意味着什么,但只是删除它。
First problem is that you've got your regex inside quotes. It should just be /regex/ without quotes. Then you're going to have to put a backslash before the forward slash in the regex.
There's no regex flag "s", so I don't know what you thought it means but just drop it.
类似于Eric的方法,或者使用更通用的正则表达式。
您可以使用此工具进行测试。结果应该输出到testarea。
Similar to Eric's method, or use more general regexp.
You can use this tool to have a test. The result should be output to testarea.