[英]Javascript problem I'm trying to extract a string from a textarea
这是我的代码:
var input = document.getElementById("input").value;
var string = input.toString();
var m = new RegExp('Stipendio' + '(.*?)' + 'D', 'gm');
var match = string.match(m);
我必须提取这个字符串:
助学金+ 一些文字 一些文字 一些文字 + D
嗨,我正在尝试从 textarea 中提取字符串,但我的 var 匹配始终为空!
我哪里错了? 在另一个脚本中它完美地工作。
谢谢
我假设您的输入字符串是Stipendio + some text some text some text + D
,正如您在问题中所述。
您的 RegExp 有问题(您的两个+
连接了字符串,它们实际上不是 RegExp 的一部分,并且g
RegExp 标志在这里不适合)。
new RegExp(/Stipendio \+ (.*?) \+ D/m);
new RegExp(/Stipendio \+ (.*?) \+ D/, "m");
new RegExp("Stipendio \\+ (.*?) \\+ D", "m");
(需要双 escaping \\
) 您也可以像这样直接在.match()
中使用它: string.match(/Stipendio \+ (.*?) \+ D/m)
hhh说您对.toString()
的使用是多余的是正确的。
总而言之,您的代码可能是:
const string = document.getElementById("input").value; const m = new RegExp("Stipendio \\+ (.*?) \\+ D", "m"); const match_result = string.match(m); console.log(match_result === null? null: match_result[1]);
<textarea id="input">Stipendio + some text some text some text + D</textarea>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.