SAS中的正则表达式。如果在开始时或之前的空格匹配单词

时间:2016-03-03 12:58:36

标签: regex sas

我在表格中有一些文字,想要匹配一个特定的单词,例如“好”。

if(prxmatch("/GOOD/",UPCASE(mytablefield)) > 0 then ....

但这只应该在G之前没有其他字母时匹配。 所以我可以在g

之前添加一个空格
"/ GOOD/"

但也可能是文本的开头。根据一些SAS文档和本网站上其他语言的一些答案,对于文本的开头使用^,但是如果我尝试

"/(( )|(^)) GOOD/" or "/(^GOOD)|( GOOD)/" or even "/^GOOD/"

对于以良好开头的文字,我没有结果。我想这是一个简单的问题,可能与SAS中的regexsyntax有关,但我无法通过谷歌搜索找到它。我该如何解决这个问题?

  • “早上好” - >应该匹配

  • “这是一个好主意” - >应该匹配

  • “我有一种不愉快的感觉” - >应匹配

  • “他回来了4” - >应匹配

2 个答案:

答案 0 :(得分:1)

您实际上可以使用word boundary

 /\bGOOD/i

请参阅demo

如果您需要匹配整个单词,请添加尾随\b

 /\bGOOD\b/i

答案 1 :(得分:1)

您还可以使用使用位置值的app.directive('directive', function () { return { template: '<div><input type="text" ng-model="ngModel" /></div>', replace: true, scope: { ngModel : '=', }, }; }); 函数,修饰符FINDW不会查看大小写。如果这大于1,那么你有一个匹配:

'i'