![](/img/trans.png)
[英]Regular expression to extract a 10 digit mobile number from string in javascript
[英]Javascript extract regular expression from string
我尝试了几种方法,我无法弄清楚为什么我的.match总是返回null。 鉴于以下字符串,我如何将2017年6月4日提取到自己的变量中?
var str = "I need the only the date 04-Jun-2017\n"
str.replace(/\n/g,' ');
var date = str.match(/^[01][0-9]-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{4}$/);
alert(date)
首先, str.replace(/\\n/g,' ');
不修改str
var,因为字符串是不可变的。 然后,您不需要锚点^
和$
,因为日期在字符串内部,它不等于字符串本身。 此外,您需要匹配从1
到31
天数,但[01][0-9]
仅匹配从00
到19
。
你可以考虑使用
var str = "I need the only the date 04-Jun-2017\\n" var date = str.match(/\\b\\d{1,2}-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\\d{4}\\b/i); if (date) { console.log(date[0]); }
锚点用字边界\\b
替换,日期部分更改为\\d{1,2}
匹配任何1或2位数。 i
修饰符将使模式不敏感。
首先,你应该更清楚你的问题。 第二,这可能就是答案
var str = "I need the only the date 04-Jun-2017\n"
var result = str.replace('I need the only the ','');
alert(result);
看看.replace(valueToSearch,valueToReplace)
函数如何需要两个参数,首先是要替换的文本,所以你放入其中的内容将在字符串内搜索,第二个参数是它将替换它的值,所以如果你想摆脱它只是放一个空字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.