sas perl 正则表达式(搜索多个值的精确匹配并替换为一个)
sas perl regular expression (search exact match for multiple value and replace with one )
我需要搜索段落中的大部分连接词并替换为空白。
例如:
You are a boy .......
Is he a scientist ......
我需要删除像你、我、我们、他们、他、她、它等词...
我想出了这个正则表达式,但如果单词并排出现,它就不起作用了。
content = left(prxchange('s/ you | are | he / /',-1,cat(' ',content,' ')));
我的结果不会删除 "are" 这个词。我在前面和后面都放了空白,以确保它是完全匹配的。暂时搜索"he".
时不会选择"hello"
有没有搜索完全匹配并替换为空白的方法?如何包含单词边界?我试图放置 \b 但它似乎不起作用。
你是对的。这需要\b
(字边界)。
prxid = prxparse('s/\b(?:you|i|we|they|he|she|it|etc)\b//');
call prxchange(prxid,-1,content);
使用非捕获组 (?: ... )
指定单词边界在任何交替之前和之后。
我需要搜索段落中的大部分连接词并替换为空白。
例如:
You are a boy .......
Is he a scientist ......
我需要删除像你、我、我们、他们、他、她、它等词...
我想出了这个正则表达式,但如果单词并排出现,它就不起作用了。
content = left(prxchange('s/ you | are | he / /',-1,cat(' ',content,' ')));
我的结果不会删除 "are" 这个词。我在前面和后面都放了空白,以确保它是完全匹配的。暂时搜索"he".
时不会选择"hello"有没有搜索完全匹配并替换为空白的方法?如何包含单词边界?我试图放置 \b 但它似乎不起作用。
你是对的。这需要\b
(字边界)。
prxid = prxparse('s/\b(?:you|i|we|they|he|she|it|etc)\b//');
call prxchange(prxid,-1,content);
使用非捕获组 (?: ... )
指定单词边界在任何交替之前和之后。