无论好坏,我需要使用正则表达式执行以下操作:
匹配开头和结尾textarea html标签之间的所有内容:
Other HTML
<textarea id = foo class = 'bar'>
some text which can include brackets> like that
<thi is an opening bracket > that was a closing one
</textarea>
Other HTML
到目前为止我得到的正则表达式如下,除了它不会一直到结尾的textarea
<textarea id = foo[^>]+>[^>]+>
我们使用的是专有系统,我们没有其他选择。在此先感谢您的帮助。
答案 0 :(得分:0)
这是我能提出的最简单的模式:
<textarea[^>]*>(.*?)<\/textarea>
Demo。如果您的工具允许,请使用s
选项或在模式的前面添加(?s)
。如果不是,请将.
替换为[\s\S]
作为解决方法。
这使用了非定量量词。
标记的内容将在第一个(也是唯一的)组中捕获。
答案 1 :(得分:0)
使用perl:
perl -0777ne 'print $& if /<textarea .*?textarea>/s' file.txt
输出:
<textarea id = foo class = 'bar'>
some text which can include brackets> like that
<thi is an opening bracket > that was a closing one
</textarea>
答案 2 :(得分:0)
我不是使用RegExp,而是使用一些简单的vanilla JavaScript。像这样:
function getText(){
var text1 = document.getElementById('text1').value;
document.getElementById('output').innerHTML = text1;
}
<textarea id="text1">Here is text with some <'s and some >s.</textarea><br/>
<button onclick="getText()">Get the text above, store it in variable "text1", and then display it below.</button><br/><br/>
<p id="output"></p>
我知道这不是你要求的,但我发现它更容易,这只是一个建议。我希望它有所帮助!