JavascriptにPHPのpreg_match_allと同等のものはありますか?そうでない場合は、正規表現のすべてのマッチを配列にする最良の方法は何でしょうか?私はJSライブラリを使いやすくしています。preg_match_all JS相当ですか?
13
A
答えて
18
あなたはグローバル修飾子とmatch
を使用することができます。
>>> '1 2 3 4'.match(/\d/g);
["1", "2", "3", "4"]
10
ジョンResig氏は、それがコールバックをとる関数を、交換してくださいJavaScriptの者を使用して動作します「Search and dont replace」
と呼ばれる彼のブログに大きな技術について書かれています元のコンテンツを変更せずにそのまま残すために何も返しません。
グローバルなマッチを使用し、結果の配列を繰り返し処理するよりも、特に複数のグループをキャプチャしている場合に比べて、これはほんの少し前になります。
1
JSのPHPのpreg_match_allと同等の方が、exec()関数を使用することになります。これによりグループを捕捉することもできますが、match()でそれを行うことはできません。あなたは、変数のmyStringから括弧内のすべての時間と回数をキャプチャしたい例えば
:
var myString = "10:30 am (15 left)11:00 am (15 left)11:30 am";
var pattern = /(\d{1,2}:\d{1,2}\s?[ap]m)\s\((\d+)/gi;
var match;
while (match = pattern.exec(myString)){
console.log('Match: "' + match[0] + '" first group: -> "' + match[1] + '" second group -> ' + match[2]);
}
出力は次のようになります。
Match: "10:30 am (15" first group: -> "10:30 am" second group -> 15
Match: "11:00 am (15" first group: -> "11:00 am" second group -> 15
関連する問題
- 1. preg_match_allに相当するC#とは何ですか?
- 2. JS相当のjQuery one()
- 3. Watir :: Safari js eval相当品?
- 4. JS#RegEx式に相当するC##
- 5. PythonでPHPのpreg_matchに相当する
- 6. Android:getElementsByTagName相当ですか?
- 7. BufferedImage.getRGB C#相当ですか?
- 8. JavaFX SwingWorker相当ですか?
- 9. LINQのSelectMany演算子に相当するアンダースコア.jsとは何ですか?
- 10. Javaで__LINE__相当ですか?
- 11. 相当
- 12. Goには、このJS式に相当するものがありますか?
- 13. アンドロイドAES暗号化用のノードjs相当コード
- 14. Rubyは "相当"です
- 15. Itext myImage.Alignment = Image.TEXTWRAP | Image.ALIGN_RIGHT; VB相当ですか?
- 16. jQueryのscriptaculous Builder相当ですか?
- 17. OpenGLES 2.0:gl_VertexID相当ですか?
- 18. iPhone用のJackson相当品ですか?
- 19. Infragistics UltraWinGrid EmptyDataText相当ですか?
- 20. Doctrine 2 PreInsert相当ですか?
- 21. MongoDB - MySQL SUM(CASE WHEN)相当ですか?
- 22. Goでsetdefaultに相当しますか?
- 23. git相当の 'hg share'ですか?
- 24. JavascriptのJOptionPane相当ですか?
- 25. DryIoc、Spring.NetのGetObjectsOfType相当ですか?
- 26. GtkVBox Qt相当
- 27. Linq RemoveFirst相当
- 28. addslashes JavaScript相当
- 29. WebGLジオメトリシェーダ相当?
- 30. IsFinite()相当の
私はその構文を理解していませんでした。 – erm3nda
@ erm3nda私は思っています**/\ d/g **あなたは理解できませんでした。ここでは[Javascriptで正規表現を作成する](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions)です。 –