0
正規表現ではなくアスタリスク(*)のワイルドカードをサポートしたいだけです。検索時にアスタリスクワイルドカードを使用するには?
これは私のコードです:
for example : checkNames[i] = "Number of ongoing MS sessions"
var checkName = checkNames[i].split("*").join(".*");
supportRegExp(dataSource[j].ColumnName, checkName, validatedList,dataSource[j]);
、これが私のsupportRegExp機能である:
function supportRegExp(arrayElem, checkName, validatedList, elem) {
var regexpArr = checkName
.replace(/\t/g, '\n')
.split("\n")
.map(function (item) {
return "^" + item + "$";
});
var regexp = new RegExp(regexpArr, 'i');
$my.isMatched = regexp.test(arrayElem)
if ($my.isMatched) {
validatedList.push(elem); //elem: my object { inside ColumnName, DisplayName }
AddValidatedList(arrayElem); //arrayElem : elem.ColumnName or elem.DisplayName bla bla.
}
}
これは作品です。私は "num *"と来る結果を書いています。そして、 "num | m"と来る結果を書いています。私はregexpを使っているので、 '*'記号だけをサポートしたいのです。
例:num *を書いているとき、結果が出てきますが、num | mが結果にならないと書いています。私はアスタリスク記号をサポートしたいからです。
どうすればいいですか?
ご了承ください。
パターンにリテラル '*'シンボルを指定できるようにしたいということですか?あなたは何らかの方法でそれをエスケープする必要があります。正規表現は '' \ ''を使用し、ルアは '%'を使用し、MS Officeは '〜'を使用します。任意のものを使用してください:) –
@WiktorStribiżew '*'を '。*'に変換してグロブとして扱うようにしたいが、他の正規表現のメタキャラクタをすべて無視したいと思うようだ。 – Phylogenesis
@Phylogenesis:質問を編集してください。 –