搜索可能包含十六进制字符的单词
Search for word that may have hex characters
我正试图使用Python在句子中搜索关键字"javascript",即
data = "I am trying to search javascript in data"
但搜索"javascript"的问题是,可能有一些字符被表示为它们的十六进制等价物,即。,javascript
、Jav#61Script
或4A#61#76#61#53#63#72#69#70#74
等等
整个单词is可能被表示为十六进制,也可能只是它的一部分。那么我如何才能正确地搜索javascript
呢?
听起来像是想要一个正则表达式,其中每个连续字符可以是字母(大小写?)或十六进制表示。
它并不漂亮。它效率不高。但它是有效的。
>>> import re
>>> regex = re.compile(r'#[0-9A-F]+')
>>>
>>> test_string = '#4A#61#76#61#53#63#72#69#70#74'
>>> for hex_string in re.findall(regex, test_string):
... test_string = test_string.replace(hex_string, chr(int(hex_string.replace('#', ''), 16)))
...
>>> test_string
'JavaScript'
如果有一个库或其他东西来处理这种编码方案,可能会有更好的方法,但事实上我不认识它,所以我没有什么可推荐的,只有"蛮力"。
相关文章:
- 用于匹配不带字符的单词的正则表达式
- 如何使用Javascript在给定的句子中找到大写单词并在其前面添加一个字符
- 如何将单词(包括单词)与连字符匹配
- 替换与单词'匹配的文本字符;购物车'替换为img图标
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 获取特殊字符后没有单词的句子
- 将组成单词的字符添加到数组的开头
- 如何防止亚洲字符通过单词换行
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- localeCompare 显示使用前导变音字符对单词进行排序时不一致的行为
- regex,用于修改单词末尾特定大小写的字符
- Javascript RegEx在字符后匹配单词
- 用unicode字符提取字符串中的单词
- 匹配可能具有特殊字符的单词
- 从javascript中的表达式中提取单词或字符
- 编写函数,通过1个字符的JavaScript匹配单词
- 替换字符串中的单词和字符
- 正则表达式,用于从拉丁文中拆分带有重音字符的单词
- 我怎样才能通过使用字符位置来获得单词
- 匹配连字符单词的JavaScript正则表达式