我正在尝试根据用户输入构建一个javascript正则表达式:
function FindString(input) {
var reg = new RegExp('' + input + '');
// [snip] perform search
}
但是当用户输入包含一个?或*因为它们被解释为正则表达式特殊时,正则表达式将无法正常工作.实际上,如果用户将不平衡(或[字符串放入其中,则正则表达式甚至无效.
什么是正确转义所有特殊字符以在正则表达式中使用的javascript函数?
我有以下内容:
if (referrer.indexOf("Ral") == -1) { ... }
Run Code Online (Sandbox Code Playgroud)
我喜欢做的事情就是让Ral不区分大小写,因此,它可以是RAl,rAl等,仍然匹配.
有没有办法说Ral必须不区分大小写?
是否可以确定String是否str1="ABCDEFGHIJKLMNOP"包含字符串模式strptrn="gHi"?我想知道当角色不区分大小写时是否可能.如果是这样,怎么样?
有没有办法在Javascript中检索正则表达式匹配()的结果字符串中的(起始)字符位置?
我有一个简单的问题.如何在java中使indexof case不敏感.这个问题已经在一些论坛得到了回答,但我不明白答案.
比如说.我有一个字符串s = Phone(Conf)我想拉这样的记录(Conf),但是用户正在输入CONF或conf或Conf等.所以我的程序应该能够拉出记录在任何情况下它都会找到conf这个词.
if(s.indexOf("(")>-1&& s.indexOf("Conf")>-4 && s.lastIndexOf(")")>-1)
{
String s1=s.substring(s.indexOf("(Conf"),s.lastIndexOf(")")+1);
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?如果字符串仅为(Conf),则上面的代码将其拉出.
我有以下文字:
......,Niedersachsen,自2009年3月3日起不收费,类别:...,
现在我想提取NOT IN CHARGE SINCE:逗号后的日期.所以我只需要03.2009在我的子串中得到结果.
那我怎么办呢?
String substr = "not in charge since:";
String before = s.substring(0, s.indexOf(substr));
String after = s.substring(s.indexOf(substr),s.lastIndexOf(","));
Run Code Online (Sandbox Code Playgroud)
编辑
for (String s : split) {
s = s.toLowerCase();
if (s.contains("ex peps")) {
String substr = "not in charge since:";
String before = s.substring(0, s.indexOf(substr));
String after = s.substring(s.indexOf(substr), s.lastIndexOf(","));
System.out.println(before);
System.out.println(after);
System.out.println("PEP!!!");
} else {
System.out.println("Line ok");
}
}
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的结果.
我正在尝试使用来查找另一个字符串中子字符串的位置IgnoreCase。
例:
String str ="aabbssddaa", str2="ab";
str.indexOf(str2);
Run Code Online (Sandbox Code Playgroud)
我想找到不区分大小写的str2的位置。表示str2 =其中任何一个“ ab”,“ Ab”,“ aB”,“ AB”
而且我只想遍历字符串一次。