Javascript 查找正则表达式:是否使用软连字符
我正在寻找一个正则表达式屈服于字符,而不是字字符或软连字符(U+00AD) 这将为我提供非文字字符的字符:Javascript 查找正则表达式:是否使用软连字符,javascript,regex,soft-hyphen,Javascript,Regex,Soft Hyphen,我正在寻找一个正则表达式屈服于字符,而不是字字符或软连字符(U+00AD) 这将为我提供非文字字符的字符: ((?=\W).) 但是软连字符呢什么是正确的正则表达式?您可以执行以下操作: [^\w\u00AD] (不是一个单词或软连字符) 我创建了一个快速且脏的last\u symbol()函数: function last_symbol(str) { var result = str.match(/([^\w\u00AD])[\w\u00AD]*$/); return
((?=\W).)
但是软连字符呢什么是正确的正则表达式?您可以执行以下操作:
[^\w\u00AD]
(不是一个单词或软连字符)
我创建了一个快速且脏的last\u 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$') // '$'
您可以这样做:
[^\w\u00AD]
(不是一个单词或软连字符)
我创建了一个快速且脏的last\u 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$') // '$'
您可以使用
\u00AD
匹配unicode软hypen字符,因此您应该能够对该表达式求反,并将其与\W
组合以匹配非单词字符和非软连字符的字符
[^\u00AD\w]+
您可以使用
\u00AD
匹配unicode软hypen字符,因此您应该能够对该表达式求反,并将其与\W
组合以匹配非单词字符和非软连字符的字符
[^\u00AD\w]+
使用regex
/\x{AD}/u
匹配PHP中的软连字符 使用regex/\x{AD}/u
匹配PHP中的软连字符 不,这不起作用,我不是在寻找连字符,而是“软连字符”-老实说,这是一个不同的字符(U+00AD请参见)-我不必这样做-你将不得不使用十六进制转义符来表示U+00AD。请注意,Javascript在单词字符或任何非stoneage ASCII(包括U+00AD)的方面是不正确的。如果有人写了“élève”
,那么不管他们有没有软连字符,你都会有大麻烦。基本上,你是被严重搞砸了。尝试在Javascript中为“é-lève”
或“ja la pe-ño”
编写一个模式,其中真正的连字符实际上是软连字符。NFW.@tchrist:幸运的是,我只在软连字符本身中受影响,而不是在那个oneno周围的任何特殊字符中,这不起作用,我不是在寻找连字符,而是“软连字符”-老实说,这是一个不同的字符(U+00AD,请参见)-我不必担心,你将不得不为U+00AD使用十六进制转义。请注意,Javascript在单词字符或任何非stoneage ASCII(包括U+00AD)的方面是不正确的。如果有人写了“élève”
,那么不管他们有没有软连字符,你都会有大麻烦。基本上,你是被严重搞砸了。尝试在Javascript中为“é-lève”
或“ja la pe-ño”
编写一个模式,其中真正的连字符实际上是软连字符。NFW@tchrist:幸运的是,我只是被赋予了软连字符本身,而不是这个字符周围的任何特殊字符regex@Thariama你到底想匹配什么?嗯,我在找完整的regex@Thariama你到底想匹配什么?如果我想最后出现这个,我需要设置什么?@Thariama匹配这个的最后一个字符或最后一组字符?最后一个字符,但是[\w\u00AD]+$应该是最后一个字符如果我想要最后一次出现,我需要设置什么?@Thariama最后一个字符或与此匹配的最后一组字符?最后一个字符,但是[\w\u00AD]+$应该是最后一个字符