查找regex:软连字符或非单词字符

Looking for regex: soft hyphen or not a word character

本文关键字:单词 字符 连字符 regex 查找      更新时间:2023-09-26

我正在寻找一个正则表达式,产生的字符不是单词字符也不是软连字符(U+00AD)。

这将给我的字符不是word-characters:

((?='W).)

但是软连字符呢?什么是正确的正则表达式?

你可以这样做:

[^'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$') // '$'

您可以使用'u00AD来匹配unicode软连字符,因此您应该能够否定该表达式并将其与'W组合以匹配非单词字符和非软连字符的字符。

[^'u00AD'w]+

使用regex /'x{AD}/u匹配PHP中的软连字符!