問題タブ [capturecollection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - グループの各キャプチャを個別に置き換える方法は?
GroupCollection
キャプチャで s を使用してアイテム ID のグループをキャプチャする正規表現があります(これはコンマで区切ることができ、最後の ID に「and」という単語を含めることもできます)。
(\bItem #(?<ITEMID>\d+))|(,\s?(?<ITEMID>\d+))|(,?\sand\s(?<ITEMID>\d+))
C# のRegex
クラスを使用して ITEMID 番号を URL に置き換える簡単な方法はありますか? 現在、私は次のものを持っています:
CustomReplace
文字列ソース内の文字列を別の文字列に置き換える簡単な方法としてオンラインで見つけた方法。問題は、おそらくクラスを使用して必要に応じて sRegex
を置き換える、より簡単な方法があると確信していることです。GroupCollection
私はそれが何であるか理解できません。ありがとう!
テキスト例:
Hello the items you are looking for are Item #25, 38, and 45. They total 100 dollars.
25
、38
、および45
は、作成中の URL 文字列 (これは HTML 文字列です) に置き換える必要があります。
c# - C#正規表現キャプチャ
オプショングループと非オプショングループが混在する繰り返しグループを照合しています。キャプチャを反復処理すると、キャプチャコレクションは常に折りたたまれます。つまり、一致しないアイテムにnull要素が挿入されません。
省略されたオプション項目がnullとして挿入され、キャプチャコレクション要素がグループ間で確実に対応するように、キャプチャコレクション内の一致の順序を保持する方法はありますか?
明確にするために、繰り返し(親)グループが3回一致し、3つの一致の1つでオプションの子グループが省略されたが、他の2つのグループには存在していたとすると、子グループのキャプチャコレクションになります。他のキャプチャコレクションよりも1要素少ないです。どの親グループがオプションの項目を省略したかを知るにはどうすればよいですか?
キャプチャコレクションアイテムのIndexプロパティを使用して、それが親グループの範囲内にあるかどうかを確認することは可能だと思いますが、一致しない場合はキャプチャコレクションでnullアイテムが返される方が簡単です。これを達成する方法はありますか?