答えて
を:「テストデータ:((test param={p} value={v}))
入力文字列が続く」私はあなたの本当の問題は、それを達成する方法であると仮定し、私は必要
出力文字列を:「テストデータ<test param="p" value="v"/>
入力文字列が続きます」 、および要件はかなり剛性であるように思わ検索/置換、ここにあなたのケースのために働くものです:
Find: ([^:]*): <([^=]*)="([^"])"([^=]*)="([^"])"/>
Replace: $1: (($2={$3}$4={$5}))
検索式は次のように分けることができます
([^:]*) # Capture zero or more characters that ARE NOT a colon
: < # Match a colon, a literal space, then a less-than sign
([^=]*) # Capture zero or more characters that ARE NOT an equals sign
=" # Match an equals sign, then a double quote
([^"]) # Capture zero or more characters that ARE NOT a double quote
" # Match a double quote
([^=]*) # Capture zero or more characters that ARE NOT an equals sign
=" # Match an equals sign, then a double quote
([^"]) # Capture zero or more characters that ARE NOT a double quote
"/> # Match a double quote, a forward slash, then a greater-than sign
正規表現内の括弧()
は、かっこの内容に一致する文字を「取得」することを意味します。カッコ内にないものはすべて「一致」しますが、検索および置換中に破棄されます。これは、name
,attribute1
およびvalue1
を<name attribute1="value1"/>
から抽出して別のパターンのテキストにするようなパターンからデータのビットを抽出する場合に便利です。
C#では、System.Text.RegularExpressions.Regexオブジェクトを使用して、正規表現を使用して一致または置換します。 Iは、(正規表現オブジェクトのインスタンス用)構文/署名が括弧()
で囲まれたマッチの部分を指すregexObject.Replace(input As String, replacement As String) As String
交換式は$1
が含まれ、$2
、等であると考えています。したがって、$1
(交換式の)(一致式から)最初のグループ([^:]*)
によりマッチしたテキストを挿入する
この組み合わせは、このテキストを向けるだろう。
「試験データ:<試験PARAM = "p" value = "v"/> "続きを読む何とか何とか何とか "テストデータ:<テストのparam =" P "値= "V"/ >" とし、いくつかのより多くのテキスト...このテキストに
:
「テストデータ: ((test param = {p} value = {v})) "more text。何とか何とか何とか「テストデータ:((テストのparam = {P}値= {V}))」とし、いくつかのより多くのテキスト...
偉大な正規表現について学ぶためのリソース(と私はについて学びました私が知っているものの90%)はRegular-Expressions.infoであり、RegexBuddyという関連ツールは正規表現の構築、テスト、デバッグにも最適です。
正しく動作します。どのように([^:] *):置き換え作業のFindと$ 1の部分で説明できますか? –
3番目の段落の '$ 1'について説明しようとしましたが('置換式には...が含まれています ')、それが明確でないか、何かが欠けているかどうかはわかりません。正規表現の内部を深く掘り下げることなく、他に何が追加できるのか分かりません:Dか、マッチパート '([^:] *):'についてもっと質問していますか? –
$ 1の隣にあるコロンは、正規表現と同じですか?そしてはい、何か([^:] *):意味します。申し訳ありませんが、私の正規表現のスキルはかなり弱いです。別々に各部分を照合しているのであれば、なぜ最初に([^:] *):が必要ですか?それは私を混乱させている。 –
- 1. Regexを使用して文字列内のグループを変更する方法
- 2. regex、Javaを使用したXPath文字列の変更
- 3. Regexを使用して文字列を除外する方法は?
- 4. regexを使用して文字列を置換する方法は?
- 5. Boost Regexで使用する文字列をエスケープする方法
- 6. regexを使用して文字列の中央を検索する方法
- 7. javaを使用して文字列を文字列に変換する方法
- 8. jetty RewriteRegexRuleを使用してURLのクエリ文字列を変更する方法
- 9. JavaでRegexを使用してマップ文字列を分割する方法
- 10. regexを使用してHTMLタグに文字列データを取得する方法
- 11. .htaccessルールを使用してクエリ文字列URLを変更する方法
- 12. .NETでregexを使用して文字列を置換する
- 13. regexを使用して文字列を長さでフィルタリングする
- 14. regexを使用してサブ文字列を抽出するPHP
- 15. RegExを使用して文字列を検証する
- 16. regexを使用して文字列を編集する
- 17. regexを使用して文字列式を置換する
- 18. JavaでRegexを使用して文字列をチェックする
- 19. regexを使用して文から複数の文字列値を抽出する方法は?
- 20. JavaでLocalDateを使用して文字列を変更する
- 21. Rubyでループを使用して文字列を変更する
- 22. JSON.parseを使用してJSON.parseを使用してJSON文字列をAPI URLに変更する方法
- 23. RegEx文字列の途中で文字列を除外する方法は?
- 24. RegExを使用してVARCHAR列の値を更新する方法は?
- 25. NIMで文字列の大文字小文字を変更する方法は?
- 26. Regexを使用して、mysqlを使用して列値のエスケープ文字で更新する
- 27. RegExと '\'文字を使用してJSONを正しく解析する方法
- 28. regex pythonを使用して1つの文字列から文字を抽出
- 29. asp.net mvcの列名として文字列変数を使用する方法
- 30. R:文字列変数を使用してdata.frame列を取得する方法?
RegExまたは交換用のサポートが必要ですか?これまでのコードを見せてください。 – RedFilter
ちょっと詳細を見てください - 近くにあるが一致してはならないものは何ですか? –
私が持っているのは、パターンにマッチする正規表現です。私が知っていることから、(私ができる)正規表現のパターンにマッチさせて別の文字列に置き換えることができますが、それをどうやって行うか、あるいは可能であれば、別のパターンに置き換える必要があります。 –