我有一个带有一些Javascript代码的html字符串:
/* <![CDATA[ */
...
var flashvars = {
video_id: '94577',
license_code: '38f7x%48',
video_url: 'http://www.domain.com/handy/url/f1d571a.mp4/?br=1114',
postfix: '.mp4',
video_url_text: '720p'
...
我想在单引号之间提取字符串,后跟文本video_url:
。我尝试了一些正则表达式,但我无法找到合适的表达式。
我认为将URL视为两个具体字符(单引号'')之间的字符串是一个好主意。这种方式应该可以避免很多复杂性。
答案 0 :(得分:1)
In [477]: arr = np.random.randint(0,9,(100000))
...: seq = np.array([3,6,8,4])
...:
In [478]: np.allclose(search_sequence_numpy(arr,seq),search_sequence_cv2(arr,seq))
Out[478]: True
In [479]: %timeit search_sequence_numpy(arr,seq)
100 loops, best of 3: 11.8 ms per loop
In [480]: %timeit search_sequence_cv2(arr,seq)
10 loops, best of 3: 20.6 ms per loop
用作:
video_url: '(.*)'
输出:import re
messy_string = """/* <![CDATA[ */
...
var flashvars = {
video_id: '94577',
license_code: '38f7x%48',
video_url: 'http://www.domain.com/handy/url/f1d571a.mp4/?br=1114',
postfix: '.mp4',
video_url_text: '720p'
..."""
string_parser = re.compile('video_url: \'(.*)\'')
parsed_text = string_parser.search(messy_string)
print parsed_text.group(1)
更多解释:使用正则表达式,您可以使用括号指定某些分组。所以,我把括号放在链接所在的位置,sans撇号,然后在最后一行调用该分组。这里是正则表达式的链接:https://regex101.com/r/lW6oA7/1