正規表現でタグ内の項目内容に""をつける処理を考えています。
現在は、= の右側にある内容を""で囲む処理をしています。
C#で書いたコードは次ような感じです。
text = Regex.Replace(text, "(\\S)=([^\"' >]+)","$1=\"$2\"" ,RegexOptions.Singleline);
このときに次のようなHTMLコードがあった場合、
<div id=000 class="tayp1,type2">
<div id="111" class=type1>
<img src="200.gif" alt="100+100=200">
すると次のような結果になります。
<div id="000" class="tayp1,type2">
<div id="111" class="type1">
<img src="200.gif" alt="100+100="200"">
3行目はalt内にも=があるため間違った処理をしてしまいます。
誤:alt="100+100="200""
このような""内部は処理しないようにするにはどうすればよろしいでしょうか?
""内部の=にはヒットしななれば…と思っているのですが。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
#1,#2です。
お書きの部分が、[^\"' >]+ となっていたので、空白は除外かと思っていました。最初から"で囲まれていた場合は、先にマッチさせて元と同じ物に置換すれば良いですね。
text = Regex.Replace(text, "(\\s\\w+)=\"([^\"]*)\"|(\\s\\w+)=([^\"' >]+)","$1$3=\"$2$4\"" ,RegexOptions.Singleline);
かな。
' で囲まれた物も対象にしたければ同じ調子で。
回答ありがとうございます!
目的通りに処理ができました。
""で囲まれているものと囲まれていないものという分け方はとても思いつきませんでした。
とても勉強になりました。
ありがとうございます。
No.3
- 回答日時:
""で囲まれた範囲にある = を "=" にでも置換。
さっきのコードを実行。
置換した部分を元に戻す。
ってなのはどうでしょう。
普段正規表現使わないのでスマートな方法が思いつきませんでした。
ただの置換操作なので予期しないバグがでてくるかも(既存のコードに"="が入ってる場合とか。無いとは思うけど…)
字句解析のほうが正規表現よりは安定そうですね。
No.2
- 回答日時:
>事例として数式を書いたのですが、実は文字列に対応できればと思っています。
数字でも文字でも空白でなければ関係ないです。
alt="aaa bbb=zzz"
のように、属性内に空白と= の両方が含まれているケースがあると言うこと???
>たとえば、パラメータのデータなどで""内に=が使われていたりします。
ていうか、それが元の質問の趣旨ですよね?
はい、ご指摘の通りです。
まさに例に出していただいたような場合にうまくいきません。
私の例として出したのが相応しくありませんでした。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript htmlとcssに関する質問です 3 2022/12/06 05:36
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で複数マッチ条件で悩...
-
プログラミング
-
windowsでテキストファイルの各...
-
プログラミング ソースコード
-
vba クリップボードクリアにつ...
-
Webサイト内に埋め込んだmp4動...
-
Pythonって何を意識した言語な...
-
そのまま使っただけなのに・・...
-
このURLで広告を出しているのは...
-
Pythonを勉強しています。
-
pythonでのカーソル移動がずれる
-
パイソンのプログラミングにつ...
-
REGZAに接続できない(パソコン)
-
HTMLソースが表示のページのも...
-
Pythonのライブラリをダウンロ...
-
【IT導入補助金は個人事業主や...
-
フォルダを自動作成・移動を複...
-
Arduinoに関する質問
-
ドローのソフト 薦めてください
-
google formsで回答者をスプレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
chatGPTで次々と質問をしていく...
-
昔のパソコン少年の武勇伝「店...
-
スカラーのベクトル微分
-
ハッシュテーブル(連想配列)が...
-
最新のプログラム言語を学ぶに...
-
pythonにてseleniumを使うも、...
-
Windowsのアプリ開発ってなんの...
-
vba クリップボードクリアにつ...
-
Google ColaboでGUI作成
-
sublimit textっていうエディタ...
-
フリーランスのエンジニアって...
-
ExcelVBAでFormulaR1C1を列範囲...
-
matplotlibで任意の角度の円弧...
-
そのまま使っただけなのに・・...
-
家庭のパソコンで Python の 環...
-
初心者powershellのPS1ファイル...
-
Webプログラムってネイティブア...
-
httpリクエストの送り元の特定
-
プログラミングで例えばゲーム...
-
rpa化する言語としてら何があり...
おすすめ情報