我有一大串字符串,其中包括他们中的空白(例如“纽约”,“美国”,“北卡罗来纳州”,“阿拉伯联合酋长国”,“大不列颠及北爱尔兰联合王国”等等5000这样的字符串).

而且我有一个大文本,其中可能包括这些这些字符串中的任何一个(例如“我去过北卡罗来纳州的路上,最后将去阿拉伯联合酋长国”).

有效地使用正则表达式来检测文本中这些字符串的存在的最佳方式是什么?

或者也许我应该考虑其他方式,以便我从文本中提取二进制,并查看此列表中的哪些字符串与这些字母匹配?

编辑:

在与VoronoiPotato进行了有趣的讨论之后,我开始认为更好地为大型字符串列表的所有项的索引进行索引,并且我用这个功能来完成这个操作:

def indexing_list(li):
    index_dict={}
    for i in rl(li):
        words=li[i].split()
        for j in rl(words):
            index=complex(i,j)
            word=words[j].lower()
            try:
                index_dict[word].append(index)
            except:
                index_dict[word]=[index]
    return index_dict

并尝试使用此列表:

[u'United Kingdom of Great Britain and northern Ireland',u'Democratic People\u2019s Republic of Korea',u'Democratic Republic of the Congo',u'Lao People\u2019s Democratic Republic',u'Saint vincent and the Grenadines',u'United Republic of Tanzania',u'Iran (Islamic Republic of)',u'Central African Republic',u'Islamic Republic of Iran',u'United States of America',u'Bosnia and Herzegovina',u'Libyan arab Jamahiriya',u'Saint Kitts and Nevis',u'Sao Tome and Principe',u'Syrian arab Republic',u'United arab Emirates',u'Antigua and Barbuda',u'Trinidad and Tobago',u'Dominican Republic',u'Russian Federation',u'Brunei Darussalam',u'Equatorial Guinea',u'Republic of Korea',u'Marshall Islands',u'Papua New Guinea',u'Solomon Islands',u'ComodRivadavia',u'Port-au-Prince',u'DumontDUrville',u'Czech Republic',u'United Kingdom',u'Dar es Salaam',u'Cambridge Bay',u'Coral Harbour',u'Port of Spain',u'Santo Domingo',u'St Barthelemy',u'Swift Current',u'Ujung Pandang',u'Yekaterinburg',u'South Georgia',u'C\xf4te d\u2019Ivoire',u"Cote d'Ivoire",u'Guinea-Bissau',u'Liechtenstein',u'United States',u'Johannesburg',u'Buenos Aires',u'Rio gallegos',u'Blanc-Sablon',u'Campo Grande',u'Danmarkshavn',u'Dawson Creek',u'Indianapolis',u'north Dakota',u'Rankin Inlet',u'scoresbysund',u'Longyearbyen',u'Kuala Lumpur',u'Antananarivo',u'Port Moresby',u'Burkina Faso',u'Saudi arabia',u'Sierra Leone',u'South Africa',u'Turkmenistan',u'Addis Ababa',u'Brazzaville',u'Ouagadougou',u'El Salvador',u'Los Angeles',u'Mexico City',u'Pangnirtung',u'Porto Velho',u'Puerto Rico',u'Rainy River',u'Tegucigalpa',u'Thunder Bay',u'Yellowknife',u'Ho Chi Minh',u'Krasnoyarsk',u'Novosibirsk',u'Ulaanbaatar',u'Vladivostok',u'broken Hill',u'Isle of Man',u'Kaliningrad',u'Guadalcanal',u'Afghanistan',u'Cock Island',u'Netherlands',u'New Zealand',u'Philippines',u'Saint Lucia',u'Switzerland',u'Timor-Leste',u'Casablanca',u'Libreville',u'Lubumbashi',u'Nouakchott',u'Porto-Novo',u'Costa Rica',u'Fort Wayne',u'Grand Turk',u'Guadeloupe',u'Hermosillo',u'Petersburg',u'Louisville',u'Monticello',u'Martinique',u'Montevideo',u'Montserrat',u'Paramaribo',u'Porto Acre',u'Rio Branco',u'St vincent',u'Whitehorse',u'Antarctica',u'South Pole',u'Choibalsan',u'Phnom Penh',u'Ulan Bator',u'Cape Verde',u'Queensland',u'Yancowinna',u'Bratislava',u'copenhagen',u'Luxembourg',u'San Marino',u'Simferopol',u'Zaporozhye',u'Kiritimati',u'Yugoslavia',u'Azerbaijan',u'Bangladesh',u'Kazakhstan',u'Kyrgyzstan',u'Madagascar',u'Mauritania',u'Micronesia',u'Montenegro',u'Mozambique',u'Seychelles',u'Tajikistan',u'Uzbekistan',u'Bujumbura',u'mogadishu',u'Anchorage',u'araguaina',u'Catamarca',u'Boa Vista',u'Chihuahua',u'Fortaleza',u'Glace Bay',u'Goose Bay',u'Guatemala',u'Guayaquil',u'Tell City',u'Vincennes',u'Menominee',u'Monterrey',u'New Salem',u'Sao Paulo',u'St Thomas',u'Vancouver',u'Ashkhabad',u'Chongqing',u'Chungking',u'Hong Kong',u'Jerusalem',u'Kamchatka',u'Pontianak',u'Pyongyang',u'Qyzylorda',u'Samarkand',u'Singapore',u'Vientiane',u'Jan Mayen',u'Reykjavik',u'St Helena',u'Australia',u'Lord Howe',u'Melbourne',u'Greenwich',u'Amsterdam',u'Bucharest',u'Gibraltar',u'Ljubljana',u'Mariehamn',u'Podgorica',u'Stockholm',u'Volgograd',u'Christmas',u'Kerguelen',u'Mauritius',u'Enderbury',u'galapagos',u'Kwajalein',u'Marquesas',u'Pago Pago',u'Rarotonga',u'Tongatapu',u'Argentina',u'Indonesia',u'Lithuania',u'Nicaragua',u'Sri Lanka',u'Swaziland',u'Macedonia',u'Venezuela',u'Blantyre',u'Djibouti',u'El Aaiun',u'Freetown',u'Gaborone',u'Khartoum',u'Kinshasa',u'Monrovia',u'Ndjamena',u'Sao Tome',u'Timbuktu',u'Windhoek',u'Anguilla',u'La Rioja',u'San Juan',u'San Luis',u'Asuncion',u'Atikokan',u'Barbados',u'Dominica',u'Edmonton',u'Eirunepe',u'Ensenada',u'Kentucky',u'Mazatlan',u'Miquelon',u'Montreal',u'New York',u'Resolute',u'Santiago',u'Shiprock',u'St Johns',u'St Kitts',u'St Lucia',u'Winnipeg',u'Ashgabat',u'Calcutta',u'damascus',u'Dushanbe',u'Istanbul',u'Jayapura',u'Katmandu',u'Makassar',u'Sakhalin',u'Shanghai',u'Tashkent',u'Tel Aviv',u'Atlantic',u'Adelaide',u'Brisbane',u'Canberra',u'Lindeman',u'Tasmania',u'Victoria',u'Belgrade',u'Brussels',u'Budapest',u'Chisinau',u'Guernsey',u'Helsinki',u'Sarajevo',u'Tiraspol',u'Uzhgorod',u'Auckland',u'Funafuti',u'Honolulu',u'Johnston',u'Pitcairn',u'Botswana',u'Bulgaria',u'Cambodia',u'Cameroon',u'Colombia',u'Ethiopia',u'Holy See',u'Honduras',u'Kiribati',u'Malaysia',u'Maldives',u'Mongolia',u'Pakistan',u'Paraguay',u'Portugal',u'Slovakia',u'Slovenia',u'Suriname',u'Thailand',u'Tanzania',u'Viet Nam',u'Zimbabwe',u'Abidjan',u'Algiers',u'Conakry',u'Kampala',u'Mbabane',u'Nairobi',u'Tripoli',u'America',u'Antigua',u'Cordoba',u'Mendoza',u'Tucuman',u'Ushuaia',u'Caracas',u'Cayenne',u'Chicago',u'Curacao',u'Detroit',u'Godthab',u'Grenada',u'Halifax',u'Indiana',u'Marengo',u'Winamac',u'Iqaluit',u'Managua',u'Marigot',u'Moncton',u'Nipigon',u'noronha',u'Phoenix',u'Rosario',u'Tijuana',u'Toronto',u'Tortola',u'Yakutat',u'McMurdo',u'Rothera',u'Baghdad',u'Bahrain',u'Bangkok',u'Bishkek',u'Colombo',u'Irkutsk',u'Jakarta',u'Karachi',u'Kashgar',u'Kolkata',u'Kuching',u'Magadan',u'Nicosia',u'Rangoon',u'Tbilisi',u'Thimphu',u'Yakutsk',u'Yerevan',u'Bermuda',u'Madeira',u'Stanley',u'Andorra',u'Belfast',u'Tallinn',u'Vatican',u'Vilnius',u'Mayotte',u'Reunion',u'Chatham',u'Fakaofo',u'Gambier',u'norfolk',u'Albania',u'Algeria',u'Armenia',u'Austria',u'Bahamas',u'Belarus',u'Belgium',u'Bolivia',u'Burundi',u'Comoros',u'Croatia',u'Denmark',u'Ecuador',u'Eritrea',u'Estonia',u'Finland',u'Georgia',u'Germany',u'Hungary',u'Iceland',u'Ireland',u'Jamaica',u'Lebanon',u'Lesotho',u'Liberia',u'Morocco',u'Myanmar',u'Namibia',u'Nigeria',u'Moldova',u'Romania',u'Senegal',u'Somalia',u'Tunisia',u'Ukraine',u'Uruguay',u'Vanuatu',u'Asmara',u'Asmera',u'Bamako',u'Bangui',u'Banjul',u'Bissau',u'Douala',u'Harare',u'Kigali',u'Luanda',u'Lusaka',u'Malabo',u'Maputo',u'Maseru',u'Niamey',u'Belize',u'Bogota',u'Cancun',u'Cayman',u'Cuiaba',u'Dawson',u'Denver',u'Havana',u'Inuvik',u'Juneau',u'La Paz',u'Maceio',u'Manaus',u'Merida',u'Nassau',u'Recife',u'Regina',u'Virgin',u'Mawson',u'Palmer',u'Vostok',u'Arctic',u'Almaty',u'Anadyr',u'Aqtobe',u'Beirut',u'Brunei',u'Harbin',u'Kuwait',u'Manila',u'Muscat',u'Riyadh',u'Saigon',u'Taipei',u'Tehran',u'Thimbu',u'Urumqi',u'Azores',u'Canary',u'Faeroe',u'Currie',u'Darwin',u'Hobart',u'Sydney',u'Europe',u'athens',u'Berlin',u'dublin',u'Jersey',u'Lisbon',u'London',u'Madrid',u'Geneva',u'Monaco',u'Moscow',u'Prague',u'Samara',u'Skopje',u'Tirane',u'Vienna',u'Warsaw',u'Zagreb',u'Zurich',u'Chagos',u'Comoro',u'Easter',u'Kosrae',u'Majuro',u'Midway',u'Noumea',u'Ponape',u'Saipan',u'Tahiti',u'Tarawa',u'Wallis',u'Andora',u'Angola',u'Bhutan',u'Brazil',u'Canada',u'Cyprus',u'France',u'Gambia',u'Greece',u'Guinea',u'Guyana',u'Israel',u'Jordan',u'Latvia',u'Malawi',u'Mexico',u'norway',u'Panama',u'Poland',u'Rwanda',u'Serbia',u'Sweden',u'Turkey',u'Tuvalu',u'Uganda',u'Zambia',u'Accra',u'Cairo',u'Ceuta',u'Dakar',u'Lagos',u'Tunis',u'Jujuy',u'Aruba',u'Bahia',u'Belem',u'Boise',u'Vevay',u'Thule',u'Casey',u'Davis',u'Syowa',u'Amman',u'Aqtau',u'Dacca',u'Dhaka',u'dubai',u'Kabul',u'Macao',u'Macau',u'Qatar',u'SEOul',u'Tokyo',u'Faroe',u'Eucla',u'Perth',u'Malta',u'Minsk',u'Paris',u'Sofia',u'Vaduz',u'Cocos',u'Efate',u'Nauru',u'Palau',u'Samoa',u'Benin',u'Chile',u'China',u'Congo',u'Egypt',u'Gabon',u'Ghana',u'Haiti',u'India',u'Italy',u'Japan',u'Kenya',u'Libya',u'Nepal',u'Niger',u'Spain',u'Sudan',u'Syria',u'Tonga',u'Yemen',u'Lome',u'Adak',u'Atka',u'Nuuk',u'Knox',u'Lima',u'Nome',u'Asia',u'Aden',u'Baku',u'Dili',u'Gaza',u'Hovd',u'Omsk',u'Oral',u'Zulu',u'Kiev',u'oslo',u'Bonn',u'Riga',u'Rome',u'Mahe',u'Apia',u'Fiji',u'Guam',u'Niue',u'Truk',u'Wake',u'Chad',u'Cuba',u'Iran',u'Iraq',u'Mali',u'Oman',u'Peru',u'Togo',u'GMT',u'Yap']

然后我开始分析我的文字:

text='I went to New York and New Orleans and London and United States,Canada,and Egypt,Saudi arabia'
text_words=text.split()

并试图单独调查每个字:

for i in rl(text_words):
    tw=text_words[i].lower()
    print i
    print tw
    print index_dict.get(tw)

方法似乎很快,但我不知道如何进一步

whitespaces_list=['New York','United States','United arab Emirates']
large_text="I went to New York on my way to north Carolina,and eventually will be going to United arab Emirates."
for i in whitespaces_list:
    if i in large_text:
        print i," Exist in Large text"

你在找这样的东西吗?

正则表达式Python匹配大型字符串列表的更多相关文章

  1. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. ios – 使用大写符号在字符串swift中获取URL的正则表达式

    我尝试在文本中获取URL.所以,在此之前,我使用了这样一个表达式:但是当用户输入带有大写符号的URL时(例如Http://Google.com,它与它不匹配)我遇到了问题.我试过了:但什么都没发生.解决方法您可以使用正则表达式中的i内联标志关闭区分大小写,有关可用正则表达式功能的详细信息,请参阅FoundationFrameworkReference.(?ismwx-ismwx)Flagsetti

  3. XCode 3.2 Ruby和Python模板

    在xcode3.2下,我的ObjectiveCPython/Ruby项目仍然可以打开更新和编译,但是你无法创建新项目.鉴于xcode3.2中缺少ruby和python的所有痕迹(即创建项目并添加新的ruby/python文件),是否有一种简单的方法可以再次安装模板?我发现了一些关于将它们复制到某个文件夹的信息,但我似乎无法让它工作,我怀疑文件夹的位置已经改变为3.2.解决方法3.2中的应用程序模板

  4. ios – 如何在Swift 3中使用正则表达式?

    解决方法我相信.当没有其他选项适用时,将使用.allZeros.因此,使用Swift3,您可以传递一个空的选项列表或省略options参数,因为它默认为无选项:要么请注意,在Swift3中,您不再使用error参数.它现在抛出.

  5. ios – lldb断点在类目标c中的所有方法

    如何使用lldb在ObjectiveC类中的所有方法上自动设置断点?

  6. swift的正则表达式(NSRegularExpression)

    init(_pattern:String){varerror:NSError?

  7. Swift基本使用-函数和闭包(三)

    声明函数和其他脚本语言有相似的地方,比较明显的地方是声明函数的关键字swift也出现了Python中的组元,可以通过一个组元返回多个值。传递可变参数,函数以数组的形式获取参数swift中函数可以嵌套,被嵌套的函数可以访问外部函数的变量。可以通过函数的潜逃来重构过长或者太复杂的函数。

  8. swift 正则表达式运用实例选自《swifter 100个swift开发必备tip 》

  9. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  10. Swift、Go、Julia与R能否挑战 Python 的王者地位

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

随机推荐

  1. 法国电话号码的正则表达式

    我正在尝试实施一个正则表达式,允许我检查一个号码是否是一个有效的法国电话号码.一定是这样的:要么:这是我实施的但是错了……

  2. 正则表达式 – perl分裂奇怪的行为

    PSperl是5.18.0问题是量词*允许零空间,你必须使用,这意味着1或更多.请注意,F和O之间的空间正好为零.

  3. 正则表达式 – 正则表达式大于和小于

    我想匹配以下任何一个字符:或=或=.这个似乎不起作用:[/]试试这个:它匹配可选地后跟=,或者只是=自身.

  4. 如何使用正则表达式用空格替换字符之间的短划线

    我想用正则表达式替换出现在带空格的字母之间的短划线.例如,用abcd替换ab-cd以下匹配字符–字符序列,但也替换字符[即ab-cd导致d,而不是abcd,因为我希望]我如何适应以上只能取代–部分?

  5. 正则表达式 – /bb | [^ b] {2} /它是如何工作的?

    有人可以解释一下吗?我在t-shirt上看到了这个:它似乎在说:“成为或不成为”怎么样?我好像没找到’e’?

  6. 正则表达式 – 在Scala中验证电子邮件一行

    在我的代码中添加简单的电子邮件验证,我创建了以下函数:这将传递像bob@testmymail.com这样的电子邮件和bobtestmymail.com之类的失败邮件,但是带有空格字符的邮件会漏掉,就像bob@testmymail也会返回true.我可能在这里很傻……当我测试你的正则表达式并且它正在捕捉简单的电子邮件时,我检查了你的代码并看到你正在使用findFirstIn.我相信这是你的问题.findFirstIn将跳转所有空格,直到它匹配字符串中任何位置的某个序列.我相信在你的情况下,最好使用unapp

  7. 正则表达式对小字符串的暴力

    在测试小字符串时,使用正则表达式会带来性能上的好处,还是会强制它们更快?不会通过检查给定字符串的字符是否在指定范围内比使用正则表达式更快来强制它们吗?

  8. 正则表达式 – 为什么`stoutest`不是有效的正则表达式?

    isthedelimiter,thenthematch-only-onceruleof?PATTERN?

  9. 正则表达式 – 替换..与.在R

    我怎样才能替换..我尝试过类似的东西:但它并不像我希望的那样有效.尝试添加fixed=T.

  10. 正则表达式 – 如何在字符串中的特定位置添加字符?

    我正在使用记事本,并希望使用正则表达式替换在字符串中的特定位置插入一个字符.例如,在每行的第6位插入一个逗号是什么意思?如果要在第六个字符后添加字符,请使用搜索和更换从技术上讲,这将用MatchGroup1替换每行的前6个字符,后跟逗号.

返回
顶部