回覆列表
  • 1 # 拾夢記錄者

    在Python的match函數中,要同時返回行號和列號,可以使用enumerate函數來遍歷行和列。以下是一個示例:

    ```python

    import re

    def match(pattern, string):

    for i, line in enumerate(string.split('\n')):

    for j, match_obj in enumerate(re.finditer(pattern, line)):

    yield i+1, j+1, match_obj.group()

    # 示例用法:

    pattern = r'\d+' # 匹配數字的正則表達式

    string = '''

    abc 123 def

    ghi 456 jkl

    mno 789 pqr

    '''

    for row, col, match in match(pattern, string):

    print(f"行號:{row} 列號:{col} 匹配結果:{match}")

    # 輸出結果:

    # 行號:1 列號:2 匹配結果:123

    # 行號:2 列號:2 匹配結果:456

    # 行號:3 列號:2 匹配結果:789

    ```

    在上述示例中,使用re.finditer函數在每一行中進行匹配,並使用enumerate函數遍歷每一行和每一個匹配對象。然後通過yield語句返回行號、列號和匹配結果。最後,在示例用法中迭代輸出行號、列號和匹配結果。

  • 中秋節和大豐收的關聯?
  • 改電位開槽方法?