我想要构造一个正则表达式,判断一串文本中,是否包含不可以用作SAS逻辑库名的单词。SAS逻辑库命名规则如下:
1. 不多于8个字符;
2. 可由下划线、英文字母、阿拉伯数字构成;
3. 首字母是下划线或英文字母;
我的思路如下:
1. 在字符串中匹配一个单词;
2. 这个单词不满足某个模式;
3. 这个模式是SAS逻辑库名的命名规则;
我做了一些尝试,但仍未获得成功。我想,是不是要用到负向零宽断言?
测试数据如下:
第一行数据包含 7z,它不满足SAS逻辑库命名规则3,第三行数据包含 dictionary,它不满足SAS逻辑库命名规则1。因此,以上数据需分别返回 1,0,1 作为各自的结果。
请问该正则表达式是否可以被构造?