1

単語文字でもソフトハイフン(U + 00AD)でもない文字に降伏する正規表現を探しています。

これにより、単語文字ではない文字が表示されます。

((?=\W).)

しかし、ソフトハイフン文字はどうですか?正しい正規表現は何ですか?

4

3 に答える 3

4

あなたはこれを行うことができます:

[^\w\u00AD]

(単語やソフトハイフンではありません)

簡単で汚いlast_symbol()関数を作成しました:

function last_symbol(str) { 
    var result = str.match(/([^\w\u00AD])[\w\u00AD]*$/); 
    return (result == null) ? null : result[1]; }

last_symbol('hello')   // null
last_symbol('hell!')   // '!'
last_symbol('hell!o$') // '$'
于 2011-08-24T14:20:57.443 に答える
2

を使用\u00ADして Unicode ソフト ハイフン文字と一致させることができるため、この式を否定して と組み合わせて\W、単語文字でもソフト ハイフンでもない文字と一致させることができます。

[^\u00AD\w]+
于 2011-08-24T14:21:50.600 に答える
1

PHP で正規表現を使用/\x{AD}/uしてソフト ハイフンを照合します。

于 2012-03-01T12:29:30.687 に答える