出於某種原因...爲什麼不能正常工作
當過我嘗試從replace.letters
的Object.keys
和使用Object.keys
新的正則表達式一個new RegExp
joined
通過|
...
的new RegExp
只承認一些Object.keys
但不是全部。我需要RegEx
來動態創建它自己。
如果我把一個靜態的RegExp
放在...它工作得很好。
演示不能正常工作
演示完美的作品
but I have to force the Regex to know what to look for
replace = {
letters: {
a: {
after: ["til"]
},
b: {
because: ["bec"]
},
c: {
cool: ["chill"]
},
e: {
energy: ["en"]
},
h: {
light: ["look"]
},
i: {
keen: ["ok"]
},
r: {
roll: ["rock"]
},
s: {
ship: ["skip"]
},
t: {
trip: ["tip"]
}
}
}
sentence = [
"If you want a cookie, eat your dinner.",
"As soon as you enter the house, change clean your room and mop the floor.",
"So long as I'm king, I will ensure your safty.",
"Change the curtains, after house is painted.",
"Change the curtains, by the time that we are headed.",
"Assuming that you are a good person, hold my beer.",
"Reject the offer, even if I'm not there.",
"Reject the offer, zoom I'm not there.",
"By the time the bus gets here, the show will be over with.",
"Choose a random number.",
"Try not to mess this, that and those up.",
"Change a random number, pick a color, and put it in jason's house.",
"Zoom, fix and lower the bar.",
"Don't change the house.",
"Create a playground.",
"While you were gone, I changed the lockes",
"Before I stop the car, can you get my wallet."
]
let objects_letters = Object.keys(replace.letters).join('|')
let letters_RegEx = new RegExp('^(' + objects_letters + ')', 'gi')
console.log(letters_RegEx)//This isn't working properly.
for (var i = 0; i < sentence.length; i++) {
let $this = sentence[i]
let commaKey = /,/g.test($this)
let if_While_Key = /^(If|While)/gi.test($this)
//Here is the problem
let letterKey = letters_RegEx.test($this)
//Here is the problem
if (commaKey) {
if (if_While_Key) {}
if (letterKey) {
$('body').append($this + '<br>');
} else {}
} else {}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
replace = {
letters: {
a: {
after: ["til"]
},
b: {
because: ["bec"]
},
c: {
cool: ["chill"]
},
e: {
energy: ["en"]
},
h: {
light: ["look"]
},
i: {
keen: ["ok"]
},
r: {
roll: ["rock"]
},
s: {
ship: ["skip"]
},
t: {
trip: ["tip"]
}
}
}
sentence = [
"If you want a cookie, eat your dinner.",
"As soon as you enter the house, change clean your room and mop the floor.",
"So long as I'm king, I will ensure your safty.",
"Change the curtains, after house is painted.",
"Change the curtains, by the time that we are headed.",
"Assuming that you are a good person, hold my beer.",
"Reject the offer, even if I'm not there.",
"Reject the offer, zoom I'm not there.",
"By the time the bus gets here, the show will be over with.",
"Choose a random number.",
"Try not to mess this, that and those up.",
"Change a random number, pick a color, and put it in jason's house.",
"Zoom, fix and lower the bar.",
"Don't change the house.",
"Create a playground.",
"While you were gone, I changed the lockes",
"Before I stop the car, can you get my wallet."
]
let objects_letters = Object.keys(replace.letters).join('|')
let letters_RegEx = new RegExp('^(' + objects_letters + ')', 'gi')
console.log(letters_RegEx)//This isn't working properly.
for (var i = 0; i < sentence.length; i++) {
let $this = sentence[i]
let commaKey = /,/g.test($this)
let if_While_Key = /^(If|While)/gi.test($this)
//Here is the problem
let letterKey = /^(a|b|c|e|h|i|r|s|t)/gi.test($this)
//Here is the problem
if (commaKey) {
if (if_While_Key) {}
if (letterKey) {
$('body').append($this + '<br>');
} else {}
} else {}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
是否使用grep或類似的命令行上的東西的工作? –
我不熟悉'grep()' –
我只想測試'true'或'false' –