बैकस्लैश को Django द्वारा मेटा-कैरेक्टर के रूप में माना जाता है और दोहरे उद्धरण चिह्नों के अंदर व्याख्या की जाती है। तो E'\\s+') की एक परत पोस्टग्रेएसक्यूएल सर्वर पर स्ट्रिंग आने से पहले छीन लिया जाता है, जो E'\s+') को देखेगा . एस्केप स्ट्रिंग का परिणाम 's+' होगा जो बदले में regexp_split_to_table() . बना देगा अपने स्ट्रिंग्स को किसी भी संख्या में s . पर विभाजित करें गैर-मुद्रण स्थान के बजाय, जो वर्ण वर्ग शॉर्टहैंड \s रेगुलर एक्सप्रेशन के लिए खड़ा है।
आप जो चाहते हैं उसे पाने के लिए स्ट्रिंग में अपने बैकस्लैश को दोगुना करें:E'\\\\s+') :
"SELECT regexp_split_to_table(field_name, E'\\\\s+') FROM mytable LIMIT 20"
एक विकल्प के रूप में, बैकस्लैश के विशेष अर्थ के साथ समस्याओं से बचने के लिए \ , आप उपयोग कर सकते हैं [[:space:]] एक ही वर्ण वर्ग को दर्शाने के लिए:
"SELECT regexp_split_to_table(field_name, '[[:space:]]+') FROM mytable LIMIT 20"
अध्याय में विवरण " पैटर्न मिलान" मैनुअल में ।