問題タブ [qregexp]

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.

0 投票する
0 に答える
818 参照

python - PyQt4 は文字列のリストを QRegExp と一致させます

QSortFilterProxyModel を QRegExp でフィルタリングして、文字列のリストのいずれかに一致させようとしています。問題は、文字列(に、、、、、、、、、、、、、、、、)などの特殊\文字が含まれていることです。/?,[]{}:|.*

これは、次のようなものを使用できないことを意味します。

r'\b(' + '|'.join(string_list) + r')\b'

QSortFilterProxyModel の filterAcceptsRow をサブクラス化して、次のような文字列のリストと照合してみました。

これは機能しますが、これに比べて非常に遅いです: (これはリストではなく1つの単語に一致するだけであることは知っていますが、正規表現で適切に実装されたリストが上記のコードよりも高速になることを願っています.)

文字列またはqstringのリストまたはqstringlistを照合するためにQRegExpを取得する方法はありますか? 入ってくる特殊文字を自動的にエスケープする正規表現を書く方法はありますか? これにアプローチする最良の方法は何ですか?

0 投票する
5 に答える
1598 参照

regex - ある単語セットを除外して別の単語をqregexpに含める方法は?

単語のグループを除外しようとしていますが、別の単語のグループを qregexp 式に含めようとしていますが、現在これを理解するのに問題があります。

ここに私が試したことのいくつかがあります(この例にはすべての単語が含まれています):

だから私はこれを試しました(何も返されませんでした):

何か不足していますか?

編集: このような珍しい正規表現 (包含/除外) が必要な理由は、一連の記事を検索して、含まれている単語が含まれているが、除外されている単語も含まれている記事をフィルタリングしたいからです。

たとえば、記事 A が次の場合:

記事Bは次のとおりです。

次に、を含む正規表現はlorem記事 A をフィルター処理しますが、B はフィルター処理ipsumしません。

正規表現を使用して、必要な単語を含む記事を除外し、最初のセットから不要な記事を除外する 2 番目の正規表現を実行することを検討しましたが、残念ながら、使用しているソフトウェアではこれを行うことができません。実行できる正規表現は 1 つだけです。

0 投票する
0 に答える
105 参照

c++ - 右辺値を const& 参照として渡す

QRegExp regex(ワイルドカード) とがあるとしQDirIterator ditます。それらが同一である場合、つまり、一致する必要があります。なぜこれは

一致し、以下は一致しません:

完全一致が const 参照を受け入れ、後者の場合は右辺値があることを除いて、違いは見られません。しかし、これは問題ではありませんよね?

0 投票する
1 に答える
118 参照

regex - 正規表現は Qt5.5 では機能しません

空白行が発生するたびに文字列を部分文字列に分割したい。

このようなコンテンツ:

私はこのようなリストを取得したい:

List["aa aa", "bb bb", "cc cc"];

コード:

正規表現は notepad++ では機能しますが、Qt5.5、Windows 7 64 ビットでは機能しません。

0 投票する
1 に答える
453 参照

c++ - 特定の文字で始まる文字列のみを解析する QRegExp

正規表現を使用してこれらの文字列を解析しようとしていますが、正規表現ステートメントが間違っていると思います。

文字列が与えられ、改行と改行が含まれる場合は常に、それらを 2 つの文字列に区切る必要があります。文字列の形式は次のとおりです

たとえば、このようなデータが与えられた場合

それらを分離すると、2 つの QString が存在し、開き括弧と閉じ括弧内のデータを取得します。

別の有効なデータは次のようなものです。

無効なデータは次のようになります。

以下の QRegExp を適用しました。

QRegexp clrf は、改行と改行、反転、または改行だけでデータを区切るのにうまく機能します。注: s1、s2、および s3 はここで適切に処理されます。

問題はここにあります:

上記のコードを使用すると、s1、s2、および s3 がすべて処理されます。S3は、最初の文字が開き括弧ではないため、処理しないでください私のQRegExpを修正するのを手伝ってもらえますか?

ありがとうございました。

編集: コード全体:

0 投票する
1 に答える
549 参照

regex - QString: 正規表現の最初の出現を削除します

QStringremoveを取るメソッドがありQRegExpます。正規表現のすべての出現を削除します。

正規表現の最初の出現のみを削除する方法はありますか?

QStringへの回答は、最初に出現したものだけを置き換えても役に立ちません。そこのアキバからのコメントを参照してください。

0 投票する
2 に答える
1142 参照

c++ - Qt / QRegularExpression - すべての結果をキャプチャできません。最初のインスタンスのみです。なぜですか?

<td>タグで囲まれたテキストを取得しようとしています。私の問題は、最初の結果しか取得できず、他の結果を取得できないことです。

次の HTML から、次のテキストである最初の結果のみを取得します。

学生の名前

しかし、残りの必要なテキストをキャプチャしようとする他のすべての試みは、空、null です。それはなぜですか、私は何を間違っていますか?

作業する正規表現のテキスト:


私のコード:

0 投票する
2 に答える
5322 参照

c# - ## で始まり、## で終わる単語を見つけるための正規表現

私は##\b\S+?\b##正規表現を使用して、以下を見つける##で始まる単語と終わる単語を見つけています。

のような単語の間にスペースがある場合、これは機能しません。

両方を見つけることができる、両方のケースで機能する正規表現が必要です。

\s空白を見つけるために使用される which を使用してみましたが、機能しません。

0 投票する
1 に答える
101 参照

c++ - QRegExp コンパイル時の警告

メインウィンドウがイベントを出力するためのサブクラス化されたログウィンドウで構成されるQtアプリに取り組んでいます。次の 3 種類のメッセージがあります。QPlainTextEdit

  1. 部分文字列QStringで始まるを表す情報メッセージ[INFO]
  2. 部分文字列QStringで始まるを表す警告メッセージ[WARNING]
  3. 部分文字列QStringで始まるを表すエラー メッセージ[ERROR]

さて、私がクラスで達成したいのは、これらのメッセージのタイプ ( INFOタイプ -色、WARNINGタイプ -色、ERRORタイプ -色)QSyntaxHighlighterに応じてこれらのメッセージの色を変更することです。Qt::DarkBlueQt::DarkYellowQt::DarkRed

ただし、プロジェクトをコンパイルすると、次の警告が表示されます。

その結果、メッセージは色付けされていません (それは私の疑いです)。正規表現の何が問題になっていますか? SO でこの質問と回答をフォローしていました。

0 投票する
1 に答える
4504 参照

qt - QtでQLineEditにsetValidator()とsetInputMask()の両方を使用するには?

ユーザーが 12 時間形式で入力する必要がある行編集があります。これはタッチ ベースのアプリケーションで、独自のキーボードを使用していますが、このキーボードには「:」 (コロン) 文字がありません。そのため、そのために入力マスクを使用しています。しかし、ユーザーが任意の数字を入力できるオプションしかありませんsetInputMask( 99:99 )が、ユーザーを 12 時間形式に制限する必要があります。

QRegexp でいくつかの例を試しましたが、入力マスクのように ":" を使用できませんでした。誰でも実装方法を教えてもらえますか?