繁体   English   中英

Javascript 问题我正在尝试从文本区域中提取字符串

[英]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 标志在这里不适合)。

您的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM