使用re.findall查找特定长度的所有字符串

时间:2017-02-25 15:22:51

标签: python regex

我想使用正则表达式从文本中提取特定长度的所有字符串,更准确地说是使用此指令:

words=re.findall('\w{3}',text)

这里我得到长度为3的所有字符串,但是我想让它更通用,并且有可能将另一个数字作为输入而不是'3',所以我会有这样的东西:

order = 5 #for example
words = re.findall('\w{order}',text)

这条指令在我的情况下不起作用,但我只是想说明我的问题。

有什么想法吗?谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

从文本中提取特定长度的所有字符串,请在正则表达式中使用字边界锚 $var = $_POST["FileID"]; // do input validation ,type-check etc on $var. header("Location: http://downlaodfile.com/".$var);

"Burger, Cafe, Italian, American,Irish"

输出:

@app.route('/api/restaurants/search/',methods=['GET'])
def get_restaurant():
    menu = request.json.get('menu')
    restaurant = Restaurant.query.filter_by(menu_type=menu).all()
    return jsonify(json_list=[i.serialize for i in restaurant])

答案 1 :(得分:0)

以下是执行此操作的所有方法:

方法1:

$(document).ready(function() {
    var occ = <?php echo json_encode($occupied); ?>;
    alert(typeof(occ));
    if(occ == "true") {
        alert("done");
        document.getElementById("occ").innerHTML = "Already registered";
    }
 });

方法2:

re.findall(r'\w{%s}' % (order), text)

方法3:

re.findall(r'\w{'+str(order)+'}', text)