Hướng dẫn python regex escape parentheses - dấu ngoặc đơn thoát regex trong python

Tìm kiếm reg exp này kiểm tra chính xác xem một chuỗi có chứa văn bản Harry không:

re.search(r'\bharry\b', '[harry] blah', re.IGNORECASE)

Tuy nhiên, tôi cần đảm bảo rằng chuỗi chứa [Harry]. Tôi đã cố gắng trốn thoát với nhiều số lượng khác nhau:

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)

Không có giải pháp nào trong số các giải pháp này tìm thấy trận đấu. Tôi cần phải làm gì?

Tomerikoo

16.8K16 Huy hiệu vàng39 Huy hiệu bạc57 Huy hiệu đồng16 gold badges39 silver badges57 bronze badges

Hỏi ngày 5 tháng 8 năm 2010 lúc 10:34Aug 5, 2010 at 10:34

Hướng dẫn python regex escape parentheses - dấu ngoặc đơn thoát regex trong python

2

Cái đầu tiên là đúng:

r'\b\[harry\]\b'

Nhưng điều này đã giành được trận đấu

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
2 vì
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
3 không phải là một ký tự từ và do đó không có ranh giới từ. Nó sẽ chỉ phù hợp nếu có một ký tự từ ở phía trước
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
3 như trong
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
5.

Đã trả lời ngày 5 tháng 8 năm 2010 lúc 10:36Aug 5, 2010 at 10:36

GumbogumboGumbo

631K107 Huy hiệu vàng768 Huy hiệu bạc838 Huy hiệu đồng107 gold badges768 silver badges838 bronze badges

1

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)

Vấn đề là

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
6, không phải dấu ngoặc. Một dấu gạch chéo ngược là chính xác để trốn thoát.

Đã trả lời ngày 5 tháng 8 năm 2010 lúc 10:37Aug 5, 2010 at 10:37

Hướng dẫn python regex escape parentheses - dấu ngoặc đơn thoát regex trong python

Nhà khoa học điên rồMad Scientist

17.6K12 Huy hiệu vàng81 Huy hiệu bạc107 Huy hiệu đồng12 gold badges81 silver badges107 bronze badges

Bạn thoát khỏi nó theo cách bạn thoát khỏi hầu hết các metacharacter Regex: trước một dấu gạch chéo ngược.

Do đó,

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
7 sẽ khớp với một chuỗi theo nghĩa đen
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
8.

Vấn đề là với

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
6 trong mẫu của bạn. Đây là từ neo ranh giới.

Các trận đấu

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
6:

  • Khi bắt đầu chuỗi, nếu nó bắt đầu bằng một ký tự từ
  • Ở cuối chuỗi, nếu nó kết thúc bằng một ký tự từ
  • Giữa một ký tự từ
    def main ( ):
    with open("test.txt", "rt") as fin:
        with open("out.txt", "wt") as fout:
                for line in fin:
                    fout.write(line.replace("\", "/"))
    print ("done")
    
    1 và ký tự không từ
    def main ( ):
    with open("test.txt", "rt") as fin:
        with open("out.txt", "wt") as fout:
                for line in fin:
                    fout.write(line.replace("\", "/"))
    print ("done")
    
    2 (lưu ý sự khác biệt trường hợp)

Các dấu ngoặc

>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
3 và
def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
4 không phải là các ký tự từ, do đó nếu một chuỗi bắt đầu bằng
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
3, thì không có
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
6 bên trái. Bất kỳ nơi nào không có
>>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df648>
>>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
>>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
<_sre.SRE_Match object at 0x7f14d22df6b0>
>>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
6, thay vào đó đều có
def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
8 (lưu ý sự khác biệt trường hợp).

Người giới thiệu

  • biểu hiện thường xuyên.info/word Ranh giới
  • http://docs.python.org/library/re.html

    >>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
    <_sre.SRE_Match object at 0x7f14d22df648>
    >>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
    >>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
    <_sre.SRE_Match object at 0x7f14d22df6b0>
    >>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
    
    6: khớp với chuỗi trống, nhưng chỉ ở đầu hoặc cuối của một từ. Một từ được định nghĩa là một chuỗi các ký tự chữ và số, do đó, phần cuối của một từ được biểu thị bằng khoảng trắng hoặc một ký tự không phải là số đồngumeric, không phải là. Lưu ý rằng
    >>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
    <_sre.SRE_Match object at 0x7f14d22df648>
    >>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
    >>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
    <_sre.SRE_Match object at 0x7f14d22df6b0>
    >>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
    
    6 được định nghĩa là ranh giới giữa
    def main ( ):
    with open("test.txt", "rt") as fin:
        with open("out.txt", "wt") as fout:
                for line in fin:
                    fout.write(line.replace("\", "/"))
    print ("done")
    
    1 và
    def main ( ):
    with open("test.txt", "rt") as fin:
        with open("out.txt", "wt") as fout:
                for line in fin:
                    fout.write(line.replace("\", "/"))
    print ("done")
    
    2, do đó, tập hợp các ký tự chính xác được coi là chữ và số phụ thuộc vào các giá trị của các lá cờ Unicode và Locale. Bên trong một phạm vi ký tự,
    >>> re.search(r'\bharry\b','[harry] blah',re.IGNORECASE)
    <_sre.SRE_Match object at 0x7f14d22df648>
    >>> re.search(r'\b\[harry\]\b','[harry] blah',re.IGNORECASE)
    >>> re.search(r'\[harry\]','[harry] blah',re.IGNORECASE)
    <_sre.SRE_Match object at 0x7f14d22df6b0>
    >>> re.search(r'\[harry\]','harry blah',re.IGNORECASE)
    
    6 đại diện cho ký tự backspace, để tương thích với các chữ Python.

Đã trả lời ngày 5 tháng 8 năm 2010 lúc 10:35Aug 5, 2010 at 10:35

1

Tôi đã tìm thấy

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 như được chỉ ra bởi Karoly Horvath. Đây là cách nó hoạt động.

Nội dung chính ShowShow

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ tệp python thoát khỏi dấu gạch chéo ngược hoặc đặt câu hỏi của riêng bạn.
  • Sử dụng thay thế ()
  • Sử dụng hàm dịch ()
  • Sử dụng biểu thức chính quy (re.sub ())
  • Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()
  • Phương pháp 2: Sử dụng hàm dịch () trong Python
  • Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Python

Nội phân Chính showShowShow

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ tệp python thoát khỏi dấu gạch chéo ngược hoặc đặt câu hỏi của riêng bạn.
  • Sử dụng thay thế ()
  • Sử dụng hàm dịch ()
  • Sử dụng biểu thức chính quy (re.sub ())
  • Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()
  • Phương pháp 2: Sử dụng hàm dịch () trong Python
  • Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Python
Nội phân Chính showShow

Update:

>>> re.escape('ads;lfkjaldsf\ndsklajflad\tkjhklajf\n')
'ads\\;lfkjaldsf\\\ndsklajflad\\\tkjhklajf\\\n'

Trong khi tôi thấy

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.
>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'

Đây là những gì tôi đã tìm ra mà thực sự có ích.

Tôi đã viết chương trình nhỏ đơn giản này:

  • Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ tệp python thoát khỏi dấu gạch chéo ngược hoặc đặt câu hỏi của riêng bạn.
  • Sử dụng thay thế ()
  • Sử dụng hàm dịch ()
  • Sử dụng biểu thức chính quy (re.sub ())
  • Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()
  • Phương pháp 2: Sử dụng hàm dịch () trong Python
  • Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Python
def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")

>>> re.escape('ads;lfkjaldsf\ndsklajflad\tkjhklajf\n')
'ads\\;lfkjaldsf\\\ndsklajflad\\\tkjhklajf\\\n'

Trong khi tôi thấy

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.
>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'

Đây là những gì tôi đã tìm ra mà thực sự có ích.

Tôi đã viết chương trình nhỏ đơn giản này:Feb 26, 2017 at 7:19

2

Nội phân chính

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
0

Nội phân chínhFeb 26, 2017 at 7:19Feb 26, 2017 at 7:20

adgon92adgon92adgon92adgon92

chính ()1 silver badge6 bronze badges

3

Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ tệp python thoát khỏi dấu gạch chéo ngược hoặc đặt câu hỏi của riêng bạn.

  • Sử dụng thay thế ()
  • Sử dụng hàm dịch ()
  • Sử dụng biểu thức chính quy (re.sub ())
  • Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()
  • Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()
  • Phương pháp 2: Sử dụng hàm dịch () trong Python
  • Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Python

>>> re.escape('ads;lfkjaldsf\ndsklajflad\tkjhklajf\n')
'ads\\;lfkjaldsf\\\ndsklajflad\\\tkjhklajf\\\n'

Trong khi tôi thấy String replace() function, translate() method, or regular expression(re.sub()).

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.
>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'

  • Tôi đã viết chương trình nhỏ đơn giản này: Using replace() Using replace()
  • Nội phân chính Using translate() function Using translate() function
  • chính () Using regular expression (re.sub()) Using regular expression (re.sub())
  • Tôi biết rằng "\" là một lối thoát theo nghĩa đen trong Python nhưng tất cả những gì tôi cần là quét qua tệp văn bản và thay thế mọi phản ứng dữ dội bằng một dấu gạch chéo phía trước "/". Backslash in Python Backslash in Python
  • Có ai biết phải làm gì không? Method 1: Using the inbuilt String replace() function Method 1: Using the inbuilt String replace() function
  • hỏi ngày 26 tháng 2 năm 2017 lúc 7:19 Method 2: Using translate() function in Python Method 2: Using translate() function in Python
  • Bạn phải nhớ rằng các chuỗi trong Python được giải thích. Chỉ các chuỗi thô không tuân theo quy tắc này. Ở đây tôi có nghĩa là nếu bạn có một
    def main ( ):
    with open("test.txt", "rt") as fin:
        with open("out.txt", "wt") as fout:
                for line in fin:
                    fout.write(line.replace("\", "/"))
    print ("done")
    
    4 được bao gồm trong chuỗi của bạn, nó sẽ được hiểu là một dòng mới. May mắn thay, các chuỗi được đọc từ tập tin đã là thô. Method 3: Using regular expression (re.sub()) in Python
    Method 3: Using regular expression (re.sub()) in Python

Sử dụng thay thế ()

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
3

Output:

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
4

Sử dụng hàm dịch ()

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
5

Output:

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
6

Sử dụng biểu thức chính quy (re.sub ())

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
7

Output:

re.search(r'\b\[harry\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\[harry\\]\b', '[harry] blah', re.IGNORECASE)
re.search(r'\b\\\[harry\\\]\b', '[harry] blah', re.IGNORECASE)
8

Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()

Phương pháp 2: Sử dụng hàm dịch () trong Pythonis used as part of a special character sequence; for example, “\n” means move to the next line, “\b” is the backspace character, and “\t” is tab space in Python code. In these cases, Python considers the sequence of characters as a single character in each case.is used as part of a special character sequence; for example, “\n” means move to the next line, “\b” is the backspace character, and “\t” is tab space in Python code. In these cases, Python considers the sequence of characters as a single character in each case.

Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Pythonused as an escape character – in this case, when a backslash is placed in front of a particular character, it changes the meaning of that character. In fact, backslash in Python is represented as “\\”.used as an escape character – in this case, when a backslash is placed in front of a particular character, it changes the meaning of that character. In fact, backslash in Python is represented as “\\”.

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
0

Trong khi tôi thấy

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.
>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
1

Output:

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
2

Đây là những gì tôi đã tìm ra mà thực sự có ích.example”string because the second quotation marks have been rendered literal string character by the escape character -the backslash.example”string because the second quotation marks have been rendered literal string character by the escape character -the backslash.

Tôi đã viết chương trình nhỏ đơn giản này:

Phương pháp 1: Sử dụng hàm thay thế chuỗi sẵn ()

Phương pháp 2: Sử dụng hàm dịch () trong Pythonis used as part of a special character sequence; for example, “\n” means move to the next line, “\b” is the backspace character, and “\t” is tab space in Python code. In these cases, Python considers the sequence of characters as a single character in each case.

Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Pythonused as an escape character – in this case, when a backslash is placed in front of a particular character, it changes the meaning of that character. In fact, backslash in Python is represented as “\\”.

Trong khi tôi thấy

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.
>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
1

Output:

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
5

Đây là những gì tôi đã tìm ra mà thực sự có ích.example”string because the second quotation marks have been rendered literal string character by the escape character -the backslash.returns a copy of the string after making the replacement, and therefore, the example_string variable will still have the original string even after execution.

Phương pháp 2: Sử dụng hàm dịch () trong Pythonis used as part of a special character sequence; for example, “\n” means move to the next line, “\b” is the backspace character, and “\t” is tab space in Python code. In these cases, Python considers the sequence of characters as a single character in each case.

Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Pythonused as an escape character – in this case, when a backslash is placed in front of a particular character, it changes the meaning of that character. In fact, backslash in Python is represented as “\\”.allows one to replace one or multiple characters which should be provided in a dictionary as shown below. The code replaces forward-slash (/) and “e” in a string with a backslash.

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
6

Output:

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
7

Trong khi tôi thấy keys for the translate dictionary must be a single character otherwise, you will run into an error.

Phương pháp 3: Sử dụng biểu thức chính quy (re.sub ()) trong Pythonused as an escape character – in this case, when a backslash is placed in front of a particular character, it changes the meaning of that character. In fact, backslash in Python is represented as “\\”.

Trong khi tôi thấy re package works with regular expressions to detect patterns in strings. The package has a function sub() that can be used to find and substitute substrings. For example,

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
8

Output:

>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
9

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
2 trốn thoát quá nhiều. Không gian, dấu chấm phẩy và rất nhiều nhân vật không cần phải trốn thoát trong trường hợp của tôi.
>>> re.sub(r'(\n|\t|\"|\')',lambda m:{'\n':'\\n','\t':'\\t','\'':'\\\'','\"':'\\\"'}[m.group()], "hello hi  \n \'GM\' \t TC  \n \"Bye\" \t")
'hello hi  \\n \\\'GM\\\' \\t TC  \\n \\"Bye\\" \\t'
1re module, we need to pass “\\\\” as the pattern to capture a single backslash.

Đây là những gì tôi đã tìm ra mà thực sự có ích.example”string because the second quotation marks have been rendered literal string character by the escape character -the backslash.

Tôi đã viết chương trình nhỏ đơn giản này:raw string formatting (they are strings preceded by r), which converts backslash into a literal string. Note that, in the code, we still use “\\”, because the raw string only applies to the re pattern but we still need to write backslash as “\\”

def main ( ):
with open("test.txt", "rt") as fin:
    with open("out.txt", "wt") as fout:
            for line in fin:
                fout.write(line.replace("\", "/"))
print ("done")
0

Output:

Phương pháp 2: Sử dụng hàm dịch () trong Python