我记得有一种方法可以让一个很长的字符串Regex逃脱.
我想我使用了新的Regexp,但我不记得怎么做了.
这里有谁知道怎么样?
我需要在引号中包装一个正则表达式,以便我可以在其中添加另一个javascript变量,但这会阻止它工作.
这是工作示例......
var re = new RegExp(/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/);
Run Code Online (Sandbox Code Playgroud)
而我最终想要实现的将是这样的(但经过修改以便它可以工作):
var re = new RegExp('^'+element.defaultValue+'|(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$');
Run Code Online (Sandbox Code Playgroud)
这允许日期格式化为DD/MM/YYYY或输入字段的默认值.
在网站上,用户在搜索框中输入一些文本,例如字母"o".
这会在网站的javascript代码中创建以下正则表达式:
var filterSubstring = $("#FilterOnSubstringBox").val();
var regexp = new RegExp(filterSubstring,"gi");
Run Code Online (Sandbox Code Playgroud)
稍后我循环一些字符串,并针对正则表达式测试它们.我希望测试不区分大小写,因此"o"和"O"都应匹配:
for(var i = 0; i < array.length; i++)
{
var textToSearch = array[i].name;
if(!regexp.test(textToSearch))
{
alert("NOT OK: " + textToSearch + " DID NOT CONTAIN: " + filterSubstring);
}
else
{
alert("OK! " + textToSearch + " CONTAINS: " + filterSubstring);
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我得到了以下奇怪的结果.我做了一个jsfiddle(http://jsfiddle.net/grs9xpek/)来展示这个.
过滤字母'o'时:
OK!: ontwerpbesluitenbundel.dmt CONTAINS: o
OK!: ontwerpbesluitenbundel_body.xta CONTAINS: o
NOT OK: ScriptTemplate.docx DID NOT CONTAIN: o
OK!: ShippingOrder.xta CONTAINS: o
NOT OK: …Run Code Online (Sandbox Code Playgroud) 我有一个字符串
var str = "{CPARTY_<BPARTY+_DPARTY}";
Run Code Online (Sandbox Code Playgroud)
我需要在主字符串(str)中找到下面字符串(find)的所有出现.
var find = "{CPARTY_<BPARTY+_DPARTY}";
Run Code Online (Sandbox Code Playgroud)
并用下面的字符串替换它.
var replace = "<span><div ng-click='myClick($event)' title='null' data-token='CPARTY_<BPARTY+_DPARTY' style='display: inline;'>{CPARTY_<BPARTY+_DPARTY}</div></span>";
Run Code Online (Sandbox Code Playgroud)
这不起作用.这意味着没有更换.没有异常抛出.
str = str.replace(new RegExp(find, 'g'), replace);
Run Code Online (Sandbox Code Playgroud)
这有效.
str = str.replace(find, replace);
Run Code Online (Sandbox Code Playgroud)
我想使用替换所有语法.我已经意识到它与特殊字符<和$ lt;有关.如果我没有<和$ lt; ,没有问题.我知道这是非常愚蠢但却无法理解的事情.
jsFiddle https://jsfiddle.net/848c1as4/9/
我正在尝试计算.字符串中的点数。我正在尝试使用match()计算点的功能,但它不起作用。
我尝试了相同的脚本来计算其他字符串、字母以及-哪些正常工作。我有以下字符串
var string = "How are you doing . - today? You . - are such a nice person!";
Run Code Online (Sandbox Code Playgroud)
我尝试了以下脚本
var num = string.match(/-/g).length; // output 2
var num = string.match(/are/g).length; // output 2
var num = string.match(/a/g).length; // output 4
var num = string.match(/./g).length; // output 60
Run Code Online (Sandbox Code Playgroud)
有人可以指导我为什么它的match功能不支持.以及我如何计算它。我想欣赏。
我读了很多问题,但还没找到想要的问题.
我有一系列的话.
如何通过数组中的单词拆分字符串(使用正则表达式)?
例
var a=['john','paul',...];
var s = 'The beatles had two leaders , john played the guitar and paul played the bass';
Run Code Online (Sandbox Code Playgroud)
我想要的结果是一个数组:
['The beatles had two leaders , ' , ' played the guitar and ','played the bass']
Run Code Online (Sandbox Code Playgroud)
所以基本上约翰和保罗是分裂者.
我试过了什么:
我成功了:
var a='The beatles had two leaders , john played the guitar and paul played the bass'
var g= a.split(/(john|paul)/)
console.log(g)
Run Code Online (Sandbox Code Playgroud)
结果:
["The beatles had two leaders , ", "john", " played the guitar and ", "paul", …Run Code Online (Sandbox Code Playgroud)