1

私は正規表現の初心者です。Ruby on Rails プロジェクトでは、すべての文字を許可し、二重引用符を禁止する 1 つのフィールドが必要です。それを定式化する方法はありますか?

どうもありがとう

4

4 に答える 4

2

否定された文字クラスを使用するだけです:

[^"]

文字クラスには、二重引用符を除くすべての文字が含まれます。おそらく必要な文字列を検証したい場合

^[^"]*$

文字列を照合します。

于 2012-06-08T10:37:28.600 に答える
1

フォーマット検証ヘルパーを使用する場合:

validates :your_field, format => {
  :with => /\A[^"]+\z/,
  :message => "No quotes allowed"
}

言葉での正規表現:

\A文字列の先頭から

[^"]を除く任意の文字を許可する"

+1回以上

\z文字列の最後まで

于 2012-06-08T11:28:34.283 に答える
0

あなたが使用することができます:

if subject =~ /\b[[:alpha:]]+\b/i
    # Successful match
else
    # Match attempt failed
end

説明

"
\\b             # Assert position at a word boundary
[[:alpha:]]    # Match a single character present in the list below
                  # A character in the POSIX character class “alpha”
   +              # Between one and unlimited times, as many times as possible, giving back as needed (greedy)
\\b             # Assert position at a word boundary
"
于 2012-06-08T10:40:25.613 に答える
0

最初から最後までのすべての文字が次のようになってはならないことを指定する必要があります "

^[^"]*$

これは次のことを意味します:
^: 一致は行または文字列の先頭から開始する必要があります。
[^"]: を除く任意の文字 (文字、句読点など) に一致します"
*: 前の項目に 0 回以上一致します。
$: 一致は行または文字列の最後で終了する必要があります。

于 2012-06-08T10:42:28.730 に答える