我正在尝试使用
之类的字符串结果,其中srn.firsttname如'Chicken%'和coalesce(sri.DocumentType_id,0)不在(71,72,70,69)并且srn.lastname如'Alfredo%'
返回
结果srn.lastname如'Chicken%'和srn.firstname如'Alfredo%'
使用正则表达式?我没有在网上找到任何帮助。
这是我的代码,不是正则表达式:
function stringSlicer(userInput) {
var frontStringLength = 0;
var middlecut = 1;
var slicer = 0;
for (var i = 0; i < userInput.length; i++) {
if (userInput.substring(i, 1) === "(") {
frontStringLength = i - 13;
break;
}
}
for (var j = 0; j < userInput.length; j++) {
if (userInput.substring(j, 1) !== ")") {
middlecut += 1;
}
else if (userInput.substring(j, 1) === ")") {
middlecut += 1;
slicer += 1;
if (slicer === 2) {
break;
}
}
}
var result = userInput.substring(0, frontStringLength) + userInput.substring(frontStringLength + middlecut);
return result;
}
谢谢!
答案 0 :(得分:0)
将字符串分成括号组,以便您可以使用替换字符串和匹配的组重新排列结果。 (string.match
example此处)。
模式:
(.*?)(srn\.firsttname)( like '%?\w+%?' and )(.*?)(srn\.lastname)(.*)
替换字符串(反转组2和5并丢弃4):
$1$5$3$2$6
答案 1 :(得分:-1)
这样的事情?
mystring.replace(/(.+'Chicken%')(.+)(and.+)/g, "$1$3");
它会删除Chicken%
和最后and
之间的所有内容,假设字符串都相似。