scanf正则表达式部分总结

摘要:
正则表达式scanf()函数的常规用法:scanf(“%[^]”,str)表示保存的字符串以换行符结尾,不存储换行符。此语句用于允许函数读取换行符以外的空白字符(空格、表格)。通常,scanf()无法读取像gets()这样的空白字符;扫描(“%*[^]”);其中,表示换行,其中*符号表示此行的内容未分配给任何变量,并且直接跳过此行的内容。在下一代中

正则表达式

 scanf() 函数的正则用法:

 scanf("%[^ ]",str) 其中的   表示保存的字符串以换行符为截止,并且不存储该换行符号,这句话的作用是允许该函数读入除换行符以外的空白符(空格,table),平时输入时,scanf()不能像gets()一样读入空格等空白符;

 scanf("%*[^ ]");  其中  表示换行,其中*号表示该行内容不赋值给任何变量,直接跳过该行内容。

以下面的代码为例进行讨论

 1 # include <stdio.h>
 2 
 3 int main(void)
 4 {
 5     char str1[100];
 6     char str2[100];
 7     char str3[100];
 8     char str4[100];
 9     
10     scanf("%[^
]",str1);
11     scanf("%[^#]",str2);
12     scanf("%*[^
]",str3);
13     scanf("%*[^#]",str4);
14 
15     puts(str1);
16     puts(str2);
17     puts(str3);
18     puts(str4);
19     
20     return 0;
21 } 

输入内容: 其中的 表示换行

hello,   world!
     //str1
hi,Alice.
          //str2
hei,Alice.#
      //str2
Hello,Friday!
   //str3
Hi,Morning!#
  //str3

输出内容:

hello,   world! // str1
hi,Alice.      // str2
hei,Alice.    // str2

讨论:

str1:以换行符为结束,且能够将空格符号读入并赋值给变量;

str2:以#号为结束,可以读入换行符,并将内容赋值给变量;

str3:无输出。以换行符为结束,但是不赋值给变量;

str4:无输出。以#号为结束,内容不赋值给变量。

免责声明:文章转载自《scanf正则表达式部分总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇bootstrap-js(2)下拉菜单你不知道的 Blob下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

spring boot 中用@value给static变量赋值

需求:改写一个JedisUtils,工具类,所以最好用静态方法和变量。 @value("${redis.host}") private static String redisHost; 运行后发现注入失败。解决办法:看了网上大家的说法,有用中间变量的,有用set方法赋值的。试了一下都是可以成功赋值的, 以下引用别人的代码: 给参数注入,执行set方法(这里...

在线测试JavaScript代码性能

(寻龙分金看缠山,一重缠是一重关,关门如有八重险,不出阴阳出八卦) JSLint JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。 JsUnit JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架。对JavaScript而言,JUnit就像是它的一个端口。当...

【Groovy】Groovy学习,具参、形参、多赋值

Groovy学习笔记 一、灵活初始化与具名参数 ​ Groovy中可以灵活的初始化一个JavaBean类。 ​ 在构造对象时,可以简单地以逗号分隔的名值对来给出属性值。如下: class Person { def age, gender } def student = new Person(age: 10, gender: '男') printl...

vue数组赋值变量不影响原数组

在使用vue开发移动端项目过程中,统一数组在对多个变量赋值时;希望一个数组的改变不影响另外一个数组,此时可以使用如下方式实现: let arr = [] let a1 = JSON.parse(JSON.stringify(arr)) let a2 = JSON.parse(JSON.stringify(arr)) a1.push('1') a1.leng...

【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解

findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall 匹配所有,match 和 search 的区别也很大,可以自行网上查找! 这里主要需要讨论的是其返回值的展现方式,即findall函数根据正则表达式的不同所返回的结果包含的不...

防止sql注入的方法

防止sql注入从前端的页面到后台可以分为以下几个办法: 1.在前端页面就可以用js过滤数据 要引入的包: import Java.util.regex.*; 正则表达式: private String CHECKSQL = “^(.+)\sand\s(.+)|(.+)\sor(.+)\s$”; 判断是否匹配: Pattern.matches(CHECKSQ...