我正在从图像(许可证)中读取单词,并且我知道此许可证上的每个单词都是大写的,所以...如果它拾取背景噪音并单独返回小写字母或在单词中返回小写字母,我知道那没有用/或不正确的信息。
从许可证返回此数据....
aaaa——————————————aESESESsSs—— VICTORIA AUSTRALIA JANE CITIZEN 87652301 FLAT 10 " 77 SAMPLE-PARADE . ‘ KEW-EAST VIC 3102 .\ e ol LICENCE EXPIRY DATE OF BIRTH 20-05-2019 29-07-1983 \ ' ) EICENCE TYRE ‘CONDITIONS Alh 7 al CAR A\ SBEAXYZ 28071985 SN |_vicroads | =< AN e
我将其清理为有用信息的一个要点是删除所有带有小写字符的单词和字母。我是否需要按空格分割,然后遍历每个单词并在找到小写或是否有我可以使用的正则表达式模式时将其删除?
我尝试了这个 text = text.replace(/[^A-Z0-9 \n]/g, '')
,但也想删除带有小写字母的完整单词,而不是单独删除所有小写字母。
谢谢
答案 0 :(得分:1)
使用
/\W*\w*[a-z]\w*/g
见proof。
节点 | 解释 |
---|---|
\W* |
非单词字符(除 a-z、A-Z、0-9、_ 之外的所有字符)(0 次或多次(匹配尽可能多的数量)) |
\w* |
单词字符(a-z, A-Z, 0-9, _)(0 次或多次(匹配尽可能多的数量)) |
[a-z] |
任何字符:'a' 到 'z' |
\w* |
单词字符(a-z, A-Z, 0-9, _)(0 次或多次(匹配尽可能多的数量)) |
答案 1 :(得分:0)
您可以选择匹配不带小写字符的非空白字符。然后匹配一个小写字符,后跟可选的非空白字符。
[^\sa-z]*[a-z]\S*
模式匹配:
[^\sa-z]*
可选地匹配除 a-z 之外的非空白字符[a-z]
匹配单个小写字符 a-z\S*
匹配可选的非空白字符