Javascript 正则表达式匹配不以点开头的单词,但不使用^or$
我正在尝试创建一个正则表达式来匹配所有不以Javascript 正则表达式匹配不以点开头的单词,但不使用^or$,javascript,regex,Javascript,Regex,我正在尝试创建一个正则表达式来匹配所有不以开头的单词。这个词可能在一个字符串的中间,等等,因此它不能保证在字符串的开始或结尾。 我已经在网上搜索了答案,但没有结果,因为其他答案需要使用^或$。我目前的非工作版本如下: (?!\.)(\w+) 不幸的是,这不起作用。这个问题有什么解决办法吗 更新 我打算用s来包围匹配的单词,我认为正则表达式将是我所需要的,当然,除非社区有更好的建议:)使用部分正则表达式的解决方案 使用拆分,筛选,启动和/\s+/ var str = "This is not .
开头的单词。这个词可能在一个字符串的中间,等等,因此它不能保证在字符串的开始或结尾。
我已经在网上搜索了答案,但没有结果,因为其他答案需要使用^
或$
。我目前的非工作版本如下:
(?!\.)(\w+)
不幸的是,这不起作用。这个问题有什么解决办法吗
更新
我打算用
s来包围匹配的单词,我认为正则表达式将是我所需要的,当然,除非社区有更好的建议:)使用部分正则表达式的解决方案
使用拆分
,筛选
,启动
和/\s+/
var str = "This is not .a sentence"
var output = str.split(/\s+/).filter( s => !s.startsWith(".") )
演示
var str=“这不是一个句子”;
var output=str.split(/\s+/).filter(s=>!s.startsWith(“.”);
控制台日志(输出)代码>这对我有用:/(^\s+(!\)(\w+)/g
let string=`test1.test2test3.test4test5.test6test7.test8`;
console.log(string.match(/(^\s+(!\)(\w+)/g))我使用regex的原因是因为我需要用其他东西替换匹配的单词。我认为这个解决方案使它变得更加复杂和困难?你想用什么来代替它?请用确切的细节更新您的问题。@qwerty我添加了一个演示。哇,这是一个有趣的解决方案:)尽管我会把这个给@revilheart,因为我从技术上要求一个正则表达式解决方案。不用担心,很高兴您发现它有用。