草庐IT

javascript - 一个更简单的正则表达式来解析带引号的字符串

问题很简单。我有一个包含多个元素的字符串,这些元素嵌入在单引号中:varstr="'alice''annamarie''benjamin''christin''david''muhammadali'"我想解析它,以便我将所有这些名称放在一个数组中:result=['alice','annamarie','benjamin','christin','david','muhammadali']目前我正在使用这段代码来完成这项工作:varresult=str.match(/\s*'(.*?)'\s*'(.*?)'\s*'(.*?)'\s*'(.*?)'/);但是这个正则表达式太长而且不灵活,

Javascript - 用于在未转义字符上拆分字符串的正则表达式,例如|但忽略\|

我从我拆分的文件中读取了一个字符串|特点。例如字符串是1|testpattern|prefix|url|postfix所以split必须总是给我5个子字符串,在上面的例子中是["1","testpattern","prefix","url","postfix"]当这五个子串中的任何一个包含|时,问题就来了特点。我会将其存储为转义\|1|testpattern|prefix|url\|title|postfix现在,您可以看到string.split('|')不会给我想要的结果。想要的结果是["1","testpattern","prefix","url\|title","postfix

javascript正则表达式,拆分用户的全名

我在一个字符串中有用户的名字和姓氏,中间有空格例如李四彼得·史密森现在我想将这个字符串转换为两个字符串-名字和姓氏JohnDoe->first=John,last=DoeJohn->first=John,last=""[space]Doe->first="",last=Doe.我正在使用下一个代码varfullname="johnDoe"varlast=fullname.replace(/^.*\s/,"").toUpperCase().trim();//johnvarfirst=fullname.replace(/\s.*$/,"").toUpperCase().trim();//D

javascript - 切换大小写字符串正则表达式和数字

有没有办法在单个Javascriptswitch语句中创建多个case?在我的代码中,我通过jQuery接收字段的值。是否有可能一种情况检查字符串正则表达式而另一种情况检查相同变量的数量?我的思路是:varfield=$(this).val();varmsg;switch(field){casefield.test('Yes'):msg="FOO\n";break;case10:msg="BAR\n";break;}虽然我在这里看到:SwitchstatementforstringmatchinginJavaScript在字符串上使用switch的方法是向switch语句发送一个“真”

Javascript URL 验证正则表达式

我有以下url验证正则表达式:/(ftp|https?)://[^"]+$/这是来自引用:RegularexpressionforURLvalidation(inJavaScript)这适用于像http://localhost:8080这样的情况,但它也验证了下面我不想要的那些。上面的正则表达式不应该传递下面的url1.http://www.example..com2.http://.com3.http://.4.http://www.example.作为正则表达式的菜鸟,请帮忙第二个问题,虽然与问题无关,但正则表达式是,当我针对正则表达式/^[a-z]+$/i验证null和undef

javascript - gulp main-bower-files 正则表达式过滤器不起作用

为什么第二个数组bowerFiles没有过滤成仅javascript文件。vargulp=require('gulp');varmainBowerFiles=require('main-bower-files');gulp.task('default',function(){varunfiltered=mainBowerFiles();console.log('unfilteredfiles:',unfiltered);//11FILES//varjsRegEx=/js$/i;//triedthiswaytoo...varjsRegEx=newRegExp('js$','i');var

javascript - 正则表达式用 HTML 标签包装字符串

我有一个包含很多行的文本区域,如下所示:#1=stuff#2=morestuff...#123=evenmorestuff...我正在使用正则表达式来查找#num=模式(/^#[0-9]*=/),我想让它们成为像这样的anchor标记#123=但它并没有像我想象的那样工作。"#2=".replace(/^#[0-9]*=/,"$1")结果:$1我做错了什么? 最佳答案 您忘记了捕获组或使用$&引用第0组并且您只处理初始数字,因为您使用的是字符串anchor的开头(您需要将其删除以匹配所有它们中的一个,或者如果你想匹配行的开头,请使用

javascript - 使用 lodash 从与正则表达式匹配的数组中获取值

我的json数组:[{"id":"7","name":"hello"},{"id":"7","name":"shan"},{"id":"7","name":"john"}{"id":"7","name":"hello"}]我想获得一个新数组,该数组与name上以字母开头的正则表达式相匹配。我正在使用regexp但我不知道如何实现它。这是我的代码:varnewitem=_.filter(result,item=>item.name='hello');console.log(newitem);但它只返回与name的严格匹配。请帮我修改上面的内容,这样结果就是一个描述的新数组。预期输出当用户

javascript - 正则表达式组捕获

这个问题在这里已经有了答案:HowdoyouaccessthematchedgroupsinaJavaScriptregularexpression?(23个回答)关闭3年前。我有一封标准电子邮件,我希望从中提取某些详细信息。邮件中有这样几行:Name:JohnSmith因此,为了模拟这一点,我有以下JavaScript:varstr="Name:JohnSmith";varre=/\Name\s*:\\s*([^\这只会得出一个结果,即:Name:JohnSmith我希望得到捕获组([^\在本例中为JohnSmith我在这里错过了什么?

Javascript 正则表达式匹配第一次出现

我有这个正则表达式(它不符合我的要求):/^.*\/(eu|es)(?:\/)?([^#]*).*/实际上是js版本的:/^.*/(eu|es)(?:/)?([^#]*).*/好吧,它没有做我想要的,当然可以。:)鉴于此网址:http://localhost/es->[1]=es,[2]=''http://localhost/eu/bla/bla#wop->[1]=eu,[2]='bla/bla'http://localhost/eu/bla/eubla->[1]=eu,[2]='bla'前两个网址按预期工作。第三个没有做我想做的事。由于稍后会在url上找到“eu”,因此它会与第二个e