2016-03-30 6 views
-2

JSで新しいRegExp()を使用して、Macysのような単語をMacyに一致させたいと考えています。誰かが私に彼らがこれを達成する方法を教えてもらえますか?これは検索機能に使用され、ユーザがmacysブランドの綴りを入力すると結果を返したいと思います。Javascriptの正規表現を使用してMacyとMacysを一致させる

+2

'/ Macy '?s /'は動作しませんか? –

+0

正直なところあなた自身の検索エンジンを書こうとは思わない。異なる綴り、タイプミス、ファジー検索はどうですか?すでにあなたのためにこれを行うライブラリがたくさんあります。 – Christoph

+0

私はindexOfアポストロフィを見つけて '?'各クエリに適用されます。それはあなたが示唆しているものですか?私がChristophと同意してくれるかどうかを見つけるより簡単な方法があると思っていた – stu6188

答えて

2
/macy'?s/gmi 

メイシーは、文字通り(大文字小文字を区別しない)文字

macy 

に一致する

'? 

は文字通り「

数量詞を文字に一致しますか? 0〜1時間、できるだけ多くの回数など、必要に応じて恩返し[貪欲]の文字は、文字通りね

s 

マッチ(大文字小文字を区別しない)

グラム修飾子:グローバル。

デモ: https://regex101.com/r/tV6yG1/1

PS:私は、スタックのAndroidアプリを使っていると私が好きな私は、コードをフォーマットすることはできませんが、必要なもののアイデアを得ます。

0

@ torzaaburoが指摘しているとおり、/Macy'?s/はあなたが望む正規表現です。大文字小文字を区別しないようにするには、正規表現の末尾にiフラグを追加します。

/Macy'?s/i.test('Macys'); // true 
/Macy'?s/i.test("Macy's"); // true 
/Macy'?s/i.test("macys"); // true 
関連する問題