国产麻豆精品视频-国产麻豆精品免费视频-国产麻豆精品免费密入口-国产麻豆精品高清在线播放-国产麻豆精品hdvideoss-国产麻豆精品

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Oracle SQL 語句中正則表達式的應用

發布時間:  2012/9/21 17:09:27

REGEXP_LIKE(匹配)
REGEXP_INSTR (包含)
REGEXP_REPLACE(替換)
REGEXP_SUBSTR(提取)

如 手機號碼的表達式: ^[1]{1}[35]{1}[[:digit:]]{9}$
查詢客戶信息表(tKHXX)中有手機號碼(SJHM)的可以這樣查詢

1. SELECT * FORM tKHXX where  REGEXP_LIKE(SJHM,  '^[1]{1}[35]{1}[[:digit:]]{9}$' )  -
 

SELECT * FORM tKHXX where REGEXP_LIKE(SJHM, '^[1]{1}[35]{1}[[:digit:]]{9}$'
針對這個表達式解釋一下
^ 表示開始
$ 表示結束
[]內部為匹配范圍
{}里的內容表時個數

手機號碼的特點是以 1開頭接著是3或5再加9位的數字 所以這么理解
1開頭 表達式為 ^[1]{1} 意為 開始1位里包含1
3或5 表達式為 [35]{1}
9位數字結束 為: [[:digit:]]{9}$ 這里[:digit:]為特殊寫法,代表為數字 再加個結束符$

用則表達式很簡單,更高效
下面列一些參考,來自網絡 :)

Anchoring Characters
^ Anchoring Characters
$ Anchor the expression to the end of a line

Equivalence Classes
= =
Oracle supports the equivalence classes through the POSIX '[==]' syntax. A base letter and all of its accented versions constitute an equivalence class. For example, the equivalence class '[=a=]' matches ?and ? The equivalence classes are valid only inside the bracketed expression
Match Options
c Case sensitive matching
i Case insensitive matching
m Treat source string as multi-line activating Anchor chars
n Allow the period (.) to match any newline character
Posix Characters

[:alnum:] Alphanumeric characters
[:alpha:] Alphabetic characters
[:blank:] Blank Space Characters
[:cntrl:] Control characters (nonprinting)
[:digit:] Numeric digits
[:graph:] Any [:punct:], [:upper:], [:lower:], and [:digit:] chars
[:lower:] Lowercase alphabetic characters
[:print:] Printable characters
[:punct:] Punctuation characters
[:space:] Space characters (nonprinting), such as carriage return, newline, vertical tab, and form feed
[:upper:] Uppercase alphabetic characters
[:xdigit:] Hexidecimal characters
Quantifier Characters

* Match 0 or more times
? Match 0 or 1 time
+ Match 1 or more times
{m} Match exactly m times
{m,} Match at least m times
{m, n} Match at least m times but no more than n times
\n Cause the previous expression to be repeated n times

Alternative Matching And Grouping Characters
| Separates alternates, often used with grouping operator ()
( ) Groups subexpression into a unit for alternations, for quantifiers, or for backreferencing (see "Backreferences" section)
[char] Indicates a character list; most metacharacters inside a character list are understood as literals, with the exception of character classes, and the ^ and - metacharacters

下面是個測試例子及環境
測試表
1. CREATE TABLE test ( 
2. testcol VARCHAR2(50)); 
3.  
4. INSERT INTO test VALUES ('abcde'); 
5. INSERT INTO test VALUES ('12345'); 
6. INSERT INTO test VALUES ('1a4A5'); 
7. INSERT INTO test VALUES ('12a45'); 
8. INSERT INTO test VALUES ('12aBC'); 
9. INSERT INTO test VALUES ('12abc'); 
10. INSERT INTO test VALUES ('12ab5'); 
11. INSERT INTO test VALUES ('12aa5'); 
12. INSERT INTO test VALUES ('12AB5'); 
13. INSERT INTO test VALUES ('ABCDE'); 
14. INSERT INTO test VALUES ('123-5'); 
15. INSERT INTO test VALUES ('12.45'); 
16. INSERT INTO test VALUES ('1a4b5'); 
17. INSERT INTO test VALUES ('1 3 5'); 
18. INSERT INTO test VALUES ('1  45'); 
19. INSERT INTO test VALUES ('1   5'); 
20. INSERT INTO test VALUES ('a  b  c  d'); 
21. INSERT INTO test VALUES ('a b  c   d    e'); 
22. INSERT INTO test VALUES ('a              e'); 
23. INSERT INTO test VALUES ('Steven'); 
24. INSERT INTO test VALUES ('Stephen'); 
25. INSERT INTO test VALUES ('111.222.3333'); 
26. INSERT INTO test VALUES ('222.333.4444'); 
27. INSERT INTO test VALUES ('333.444.5555'); 
28. COMMIT; 

CREATE TABLE test ( testcol VARCHAR2(50)); INSERT INTO test VALUES ('abcde'); INSERT INTO test VALUES ('12345'); INSERT INTO test VALUES ('1a4A5'); INSERT INTO test VALUES ('12a45'); INSERT INTO test VALUES ('12aBC'); INSERT INTO test VALUES ('12abc'); INSERT INTO test VALUES ('12ab5'); INSERT INTO test VALUES ('12aa5'); INSERT INTO test VALUES ('12AB5'); INSERT INTO test VALUES ('ABCDE'); INSERT INTO test VALUES ('123-5'); INSERT INTO test VALUES ('12.45'); INSERT INTO test VALUES ('1a4b5'); INSERT INTO test VALUES ('1 3 5'); INSERT INTO test VALUES ('1 45'); INSERT INTO test VALUES ('1 5'); INSERT INTO test VALUES ('a b c d'); INSERT INTO test VALUES ('a b c d e'); INSERT INTO test VALUES ('a e'); INSERT INTO test VALUES ('Steven'); INSERT INTO test VALUES ('Stephen'); INSERT INTO test VALUES ('111.222.3333'); INSERT INTO test VALUES ('222.333.4444'); INSERT INTO test VALUES ('333.444.5555'); COMMIT;
REGEXP_INSTR
REGEXP_INSTR(<source_string>, <pattern>, <start_position>, <occurrence>, <return_option>, <match_parameter>)

Find words beginning with 's' or 'r' or 'p' followed by any 4 alphabetic characters: case insensitive
1. SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 1, 0, 'i') RESULT 
2. FROM dual; 
3.  
4. SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 1, 1, 'i') RESULT 
5. FROM dual; 
6.  
7. SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 2, 0, 'i') RESULT 
8. FROM dual; 
9.  
10. SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 2, 1, 'i') RESULT 
11. FROM dual; 

SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 1, 0, 'i') RESULT FROM dual; SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 1, 1, 'i') RESULT FROM dual; SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 2, 0, 'i') RESULT FROM dual; SELECT REGEXP_INSTR('500 Oracle Pkwy, Redwood Shores, CA', '[o][[:alpha:]]{3}', 1, 2, 1, 'i') RESULT FROM dual;
Find the postiion of try, trying, tried or tries

1. SELECT REGEXP_INSTR('We are trying to make the subject easier.', 'tr(y(ing)?|(ied)|(ies))') RESULTNUM 
2. FROM dual; 

SELECT REGEXP_INSTR('We are trying to make the subject easier.', 'tr(y(ing)?|(ied)|(ies))') RESULTNUM FROM dual;
REGEXP_LIKE

REGEXP_LIKE(<source_string>, <pattern>, <match_parameter>)

AlphaNumeric Characters
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:alnum:]]'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:alnum:]]{3}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:alnum:]]{5}'); 

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:alnum:]]'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:alnum:]]{3}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:alnum:]]{5}');
Alphabetic Characters:
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:alpha:]]'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:alpha:]]{3}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:alpha:]]{5}'); 

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:alpha:]]'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:alpha:]]{3}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:alpha:]]{5}')
Control Characters
1. INSERT INTO test VALUES ('zyx' || CHR(13) || 'wvu'); 
2. COMMIT; 
3.  
4. SELECT * 
5. FROM test 
6. WHERE REGEXP_LIKE(testcol, '[[:cntrl:]]{1}'); 

INSERT INTO test VALUES ('zyx' || CHR(13) || 'wvu'); COMMIT; SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:cntrl:]]{1}');
Digits
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:digit:]]'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:digit:]]{3}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:digit:]]{5}'); 

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:digit:]]'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:digit:]]{3}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:digit:]]{5}');
Lower Case
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:lower:]]'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:lower:]]{2}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:lower:]]{3}'); 
12.  
13. SELECT * 
14. FROM test 
15. WHERE REGEXP_LIKE(testcol, '[[:lower:]]{5}'); 

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:lower:]]'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:lower:]]{2}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:lower:]]{3}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:lower:]]{5}');
Printable Characters
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:print:]]{5}'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:print:]]{6}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:print:]]{7}'); 

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:print:]]{5}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:print:]]{6}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:print:]]{7}');
Punctuation
1. TRUNCATE TABLE test; 
2.  
3. SELECT * 
4. FROM test 
5. WHERE REGEXP_LIKE(testcol, '[[:punct:]]'); 

TRUNCATE TABLE test; SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:punct:]]');
Spaces
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:space:]]'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:space:]]{2}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:space:]]{3}'); 
12.  
13. SELECT * 
14. FROM test 
15. WHERE REGEXP_LIKE(testcol, '[[:space:]]{5}'); 

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:space:]]'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:space:]]{2}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:space:]]{3}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:space:]]{5}')
Upper Case
1. SELECT * 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '[[:upper:]]'); 
4.  
5. SELECT * 
6. FROM test 
7. WHERE REGEXP_LIKE(testcol, '[[:upper:]]{2}'); 
8.  
9. SELECT * 
10. FROM test 
11. WHERE REGEXP_LIKE(testcol, '[[:upper:]]{3}');  

SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:upper:]]'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:upper:]]{2}'); SELECT * FROM test WHERE REGEXP_LIKE(testcol, '[[:upper:]]{3}');
Values Starting with 'a%b'

1. SELECT testcol 
2. FROM test 
3. WHERE REGEXP_LIKE(testcol, '^ab*');  

SELECT testcol FROM test WHERE REGEXP_LIKE(testcol, '^ab*');
'a' is the third value

1. SELECT testcol 
2. ROM test  WHERE REGEXP_LIKE(testcol, '^..a.');  

SELECT testcol FROM test WHERE REGEXP_LIKE(testcol, '^..a.');
Contains two consecutive occurances of the letter 'a' or 'z'

1. SELECT testcol  FROM test  WHERE REGEXP_LIKE(testcol, '([az])\1', 'i');  

SELECT testcol FROM test WHERE REGEXP_LIKE(testcol, '([az])\1', 'i')
Begins with 'Ste' ends with 'en' and contains either 'v' or 'ph' in the center

1. SELECT testcol FROM test WHERE REGEXP_LIKE(testcol, '^Ste(v|ph)en$');  

SELECT testcol FROM test WHERE REGEXP_LIKE(testcol, '^Ste(v|ph)en$');

Use a regular expression in a check constraint

1. CREATE TABLE mytest (c1 VARCHAR2(20),  
2. CHECK (REGEXP_LIKE(c1, '^[[:alpha:]]+$')));  
3. Identify SSN 
4.  
5. Thanks: Byron Bush HIOUG  
6.  
7.  
8. CREATE TABLE ssn_test ( 
9. ssn_col  VARCHAR2(20)); 
10.  
11. INSERT INTO ssn_test VALUES ('111-22-3333'); 
12. INSERT INTO ssn_test VALUES ('111=22-3333'); 
13. INSERT INTO ssn_test VALUES ('111-A2-3333'); 
14. INSERT INTO ssn_test VALUES ('111-22-33339'); 
15. INSERT INTO ssn_test VALUES ('111-2-23333'); 
16. INSERT INTO ssn_test VALUES ('987-65-4321'); 
17. COMMIT; 
18.  
19. SELECT ssn_col 
20. from ssn_test 
21. WHERE regexp_like(ssn_col,'^[0-9]{3}-[0-9]{2}-[0-9]{4}$');  

CREATE TABLE mytest (c1 VARCHAR2(20), CHECK (REGEXP_LIKE(c1, '^[[:alpha:]]+$'))); Identify SSN Thanks: Byron Bush HIOUG CREATE TABLE ssn_test ( ssn_col VARCHAR2(20)); INSERT INTO ssn_test VALUES ('111-22-3333'); INSERT INTO ssn_test VALUES ('111=22-3333'); INSERT INTO ssn_test VALUES ('111-A2-3333'); INSERT INTO ssn_test VALUES ('111-22-33339'); INSERT INTO ssn_test VALUES ('111-2-23333'); INSERT INTO ssn_test VALUES ('987-65-4321'); COMMIT; SELECT ssn_col from ssn_test WHERE regexp_like(ssn_col,'^[0-9]{3}-[0-9]{2}-[0-9]{4}$'
REGEXP_REPLACE

Syntax REGEXP_REPLACE(<source_string>, <pattern>,<replace_string>, <position>, <occurrence>, <match_parameter>)

Looks for the pattern xxx.xxx.xxxx and reformats pattern to (xxx) xxx-xxxx col testcol format a15
col result format a15

1. SELECT testcol, REGEXP_REPLACE(testcol,'([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})', 
2. '(\1) \2-\3') RESULT 
3. FROM test 
4. WHERE LENGTH(testcol) = 12;  

SELECT testcol, REGEXP_REPLACE(testcol,'([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})', '(\1) \2-\3') RESULT FROM test WHERE LENGTH(testcol) = 12;
Put a space after every character

1. SELECT testcol, REGEXP_REPLACE(testcol, '(.)', '\1 ') RESULT 
2. FROM test   WHERE testcol like 'S%';  

SELECT testcol, REGEXP_REPLACE(testcol, '(.)', '\1 ') RESULT FROM test WHERE testcol like 'S%';
Replace multiple spaces with a single space

1. SELECT REGEXP_REPLACE('500    Oracle    Parkway, Redwood    Shores, CA', '( ){2,}', ' ') RESULT 
2. FROM dual;  

SELECT REGEXP_REPLACE('500 Oracle Parkway, Redwood Shores, CA', '( ){2,}', ' ') RESULT FROM dual
Insert a space between a lower case character followed by an upper case character

1. SELECT REGEXP_REPLACE('George McGovern', '([[:lower:]])([[:upper:]])', '\1 \2') CITY 
2. FROM dual;  

SELECT REGEXP_REPLACE('George McGovern', '([[:lower:]])([[:upper:]])', '\1 \2') CITY FROM dual;
Replace the period with a string (note use of '\')

1. SELECT REGEXP_REPLACE('We are trying to make the subject easier.','\.',' for you.') REGEXT_SAMPLE 
2. FROM dual;  

SELECT REGEXP_REPLACE('We are trying to make the subject easier.','\.',' for you.') REGEXT_SAMPLE FROM dual;

REGEXP_SUBSTR

Syntax REGEXP_SUBSTR(source_string, pattern[, position [, occurrence[, match_parameter]]])

Searches for a comma followed by one or more occurrences of non-comma characters followed by a comma

1. SELECT REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA', ',[^,]+,') RESULT 
2. FROM dual;  

SELECT REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA', ',[^,]+,') RESULT FROM dual;

Look for http:// followed by a substring of one or more alphanumeric characters and optionally, a period (.) col result format a50

1. SELECT REGEXP_SUBSTR('Go to http://www.Oracle.com/products and click on database', 
2. 'http://([[:alnum:]]+\.?){3,4}/?') RESULT 
3. FROM dual;  

SELECT REGEXP_SUBSTR('Go to http://www.Oracle.com/products and click on database', 'http://([[:alnum:]]+\.?){3,4}/?') RESULT FROM dual;

Extracts try, trying, tried or tries

SELECT REGEXP_SUBSTR('We are trying to make the subject easier.','tr(y(ing)?|(ied)|(ies))')
FROM dual;
Extract the 3rd field treating ':' as a delimiter SELECT REGEXP_SUBSTR('system/pwd@orabase:1521:sidval',
'[^:]+', 1, 3) RESULT
FROM dual;

Extract from string with vertical bar delimiter
1. CREATE TABLE regexp ( 
2. testcol VARCHAR2(50)); 
3.  
4. INSERT INTO regexp 
5. (testcol) 
6. VALUES 
7. ('One|Two|Three|Four|Five'); 
8.  
9. SELECT * FROM regexp; 
10.  
11. SELECT REGEXP_SUBSTR(testcol,'[^|]+', 1, 3) 
12. FROM regexp;  

CREATE TABLE regexp ( testcol VARCHAR2(50)); INSERT INTO regexp (testcol) VALUES ('One|Two|Three|Four|Five'); SELECT * FROM regexp; SELECT REGEXP_SUBSTR(testcol,'[^|]+', 1, 3) FROM regexp;

Equivalence classes
1. SELECT REGEXP_SUBSTR('iSelfSchooling NOT ISelfSchooling', '[[=i=]]SelfSchooling') RESULT  
2. FROM dual;   

SELECT REGEXP_SUBSTR('iSelfSchooling NOT ISelfSchooling', '[[=i=]]SelfSchooling') RESULT FROM dual;


 


本文出自:億恩科技【www.artduck.net】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    午夜欧美成人久久久久久| 亚洲 国产精品 日韩| 日韩女人做爰大片| 夜夜操网| 99色视频在线| 成人免费观看网欧美片| 99久久精品国产麻豆| 国产美女在线观看| 91麻豆精品国产综合久久久| 日韩中文字幕一区| 午夜欧美成人久久久久久| 精品视频在线观看一区二区三区| 成人免费福利片在线观看| 91麻豆精品国产自产在线观看一区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 可以免费在线看黄的网站| 日日夜夜婷婷| 国产一级强片在线观看| 亚洲 国产精品 日韩| 九九久久国产精品| 青青久久国产成人免费网站| 成人高清免费| 国产成人女人在线视频观看| 欧美电影免费看大全| 久久精品道一区二区三区| 精品国产一区二区三区精东影业| 色综合久久天天综线观看| 91麻豆tv| 国产成+人+综合+亚洲不卡 | 国产国语对白一级毛片| 超级乱淫伦动漫| 亚洲 激情| 久久精品成人一区二区三区| 国产韩国精品一区二区三区| 成人免费网站视频ww| 999精品视频在线| 中文字幕97| 国产一区二区精品久久91| 精品视频在线看| 天天色色网| 免费国产一级特黄aa大片在线| 九九免费精品视频| 天天色色网| 国产高清在线精品一区a| 国产一区二区精品久| 99久久视频| 可以免费在线看黄的网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产视频在线免费观看| 高清一级毛片一本到免费观看| 精品国产一区二区三区国产馆| 欧美日本免费| 日韩在线观看免费| 国产成a人片在线观看视频| 日韩av成人| 国产伦理精品| 欧美激情在线精品video| 天天色成人网| 香蕉视频亚洲一级| 精品在线免费播放| 天天做人人爱夜夜爽2020| 午夜家庭影院| 999精品在线| 日本在线www| 精品国产三级a∨在线观看| 九九精品在线| 成人影视在线观看| 久久99青青久久99久久| 麻豆系列 在线视频| 亚欧乱色一区二区三区| 日本在线www| 九九干| 精品国产一区二区三区精东影业| 欧美18性精品| 国产视频在线免费观看| 欧美另类videosbestsex久久| 国产一区二区精品久久91| 韩国三级香港三级日本三级| 免费一级生活片| 日韩在线观看视频黄| 高清一级淫片a级中文字幕| 999久久狠狠免费精品| 欧美激情影院| 午夜家庭影院| 色综合久久天天综合绕观看| 午夜在线观看视频免费 成人| 欧美激情伊人| 四虎影视精品永久免费网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久国产精品永久免费网站| 国产亚洲精品aaa大片| 天堂网中文在线| 久久国产一久久高清| 青青久久精品| 精品国产一级毛片| 精品国产香蕉在线播出| 可以免费在线看黄的网站| 久久久久久久久综合影视网| 欧美一级视频高清片| 精品国产一级毛片| 国产伦久视频免费观看视频| 国产一区二区精品久| 国产原创视频在线| 欧美激情一区二区三区在线| 美女免费精品视频在线观看| 国产美女在线一区二区三区| 一级女性大黄生活片免费| 天天色成人网| 久久国产影院| 国产视频久久久| 亚飞与亚基在线观看| 国产极品精频在线观看| 亚洲第一页色| 欧美激情伊人| 午夜在线观看视频免费 成人| 日韩一级黄色| 亚洲天堂在线播放| 黄色免费三级| 日本免费区| 成人a级高清视频在线观看| 精品视频免费观看| 欧美爱色| 香蕉视频亚洲一级| 香蕉视频一级| 99热视热频这里只有精品| a级毛片免费观看网站| 久久久久久久免费视频| 日韩中文字幕在线亚洲一区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩在线观看网站| 亚洲第一色在线| 亚洲第一色在线| 亚欧乱色一区二区三区| 欧美a级大片| 欧美18性精品| 亚飞与亚基在线观看| 九九干| 国产91丝袜在线播放0| 中文字幕97| 欧美激情伊人| 午夜在线亚洲| 国产国语对白一级毛片| 黄视频网站在线看| 黄视频网站免费观看| 国产美女在线一区二区三区| 国产一区免费在线观看| 国产一区二区精品久久91| 精品在线观看国产| 欧美α片无限看在线观看免费| 日韩一级黄色片| 国产极品精频在线观看| 日韩中文字幕一区| 国产一区二区精品尤物| 韩国毛片免费| 台湾毛片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产伦久视频免费观看 视频| 美女免费精品高清毛片在线视| 青青久久精品国产免费看| 99热视热频这里只有精品| 精品在线观看一区| 国产高清在线精品一区a| 欧美一区二区三区在线观看| 国产成人女人在线视频观看| a级毛片免费全部播放| 九九精品久久久久久久久| 亚欧成人乱码一区二区 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 九九免费精品视频| 999久久久免费精品国产牛牛| 久久精品大片| 国产不卡在线观看视频| 黄视频网站在线看| 成人免费网站久久久| 午夜在线观看视频免费 成人| 日本伦理黄色大片在线观看网站| 国产一区二区精品久久91| 免费一级片网站| 国产一区二区精品久久91| 香蕉视频久久| 国产伦久视频免费观看视频| 欧美另类videosbestsex久久| 久久国产精品永久免费网站| 韩国毛片免费大片| 一级女性大黄生活片免费| 成人免费观看男女羞羞视频| 中文字幕一区二区三区 精品| 日韩中文字幕一区| 欧美1区2区3区| a级毛片免费全部播放| 尤物视频网站在线| 国产原创视频在线| 成人免费观看网欧美片| 国产网站免费在线观看| 免费的黄色小视频| 亚洲女初尝黑人巨高清在线观看| 国产美女在线观看| 国产亚洲免费观看| 一级女人毛片人一女人| 99久久精品国产高清一区二区|