CS 211 Regular Expressions
|
|
- Lesley Griffith
- 6 years ago
- Views:
Transcription
1 CS 211 Regular Expressions 2-1
2 REGULAR EXPRESSIONS 2
3 Processing Input If we know how to read in a line of input, what else might we want to do with it? Analyze it in some way, based on some pattern Extract certain values out of it, based on some pattern We can create regular expressions to identify patterns, and then use them to extract the relevant info out of the pattern. A regular expression represents a pattern Can be used to "match" a particular string e.g., with Scanner s findinline() method Java represents a regular expression with a String literal Regular Expressions: appendix H in the text.
4
5 CREATING REGULAR EXPRESSIONS 5
6 Special Symbols: Repetition symbol meaning. any single character * zero or more of the previous thing + one or more of the previous thing? zero or one of the previous thing {n} n of the previous thing {n,m} n-to-m of the previous thing {n,} n-or-more of the previous thing any non-special char matches itself Each of these determines how many of the one thing on its left to repeat. a* matches zero or more a's. xyz+ matches an x, a y, and then one or more z's. 6
7 A Simple Method for TesBng Regular Expressions public stabc void main (String[] args) { Scanner sc = new Scanner(System.in); String str = ""; String regex = "k.t+y"; System.out.println("\nPaRern: "+regex+"\n"); while (!str.equals("quit")) { System.out.println("next input please: "); str = sc.nextline(); System.out.println("\n\nstring: \""+str+"\"\nparern: " +regex+"\nmatches: "+str.matches(regex)+"\n"); } } 7
8 Prac=ce Problems What are some strings that each parern would match, and would not match? Test them out in live code. 1. k.ry 2. a* 3. b+c* 4. ba{2,5} 5. go{1,}al! 6. a+b?c*d 8
9 Special Symbols: grouping grouping (pa/ern) a b meaning parentheses group things matches parern a, or parern b, exactly Parentheses are useful for grouping things to be repeated with our repetition symbols. 9
10 Prac=ce Problems What are some strings that each parern would match, and would not match? Test them out in live code. 1. ba(na)* 2. b(a e i o u)t 3. (un)?sure 4. d(o i)*t 5. ((c l r d)(o a))+ How would you represent the following regular expressions? 1. "tweedledee" or "tweedledum" 2. "I like you", "I like like you", "I like like like you", etc. 3. An accusabon in the game "Clue" ("it was Col. Mustard in the Library with the Wrench!") 10
11 Special Symbols: "character classes" "character class" [chars] [a-z] [^a-z] [abc[def]] [aeiou&&[a-m]] meaning any single char between []'s any single char from a-to-z. any single char not from a-to-z. union of [abc], [def] (one char from either) intersecbon of [aeiou], [a-m] (one char, that must be in both) Many more character classes can be found at: hrp://docs.oracle.com/javase/1.4.2/docs/api/java/ubl/regex/parern.html 11
12 Prac=ce Problems What are some strings that each parern would match, and would not match? Test them out in live code. 1. b[aeiou]t 2. a[^aeiou]e 3. 5[a-z[A-Z]]8 4. [aeiou&&[a-m]] 5. [a-za-z] 6. [0-9]+ How would you represent the following regular expressions? 1. a posibve odd integer consonants 3. three lerers that are not in your inibals 12
13 Special Symbols: Boundaries boundary representa=on ^ meaning beginning of line* $ end of input/line. \b word boundary (between chars: one is lerer, one is not) \B not a word boundary * note: second usage of the ^ symbol! This one is always outside []'s. to use $ with a scanner's findinline method, we need an embedded flag, (?m), in order for it to behave as we'd expect. (see next slide). It instructs Java to consider the end of a line as the "end of input", allowing $ to match not just the end of the stream but the end of any line. example: (?m)the\send$ instead of the\send$ 13
14 Embedded Flag Expressions Different modes can be used in regular expressions. Different languages indicate them for regular exprs in different ways Java: we can add embedded flag expressions at parern beginning: flag name meaning (?d) unix lines only \n means newline (for., ^, $) (?i) case insensibve case insensibve (?x) comments allow embedded comments/whitespace in parern (?m) mulb-line let ^, $ match at newline, not just end of enbre input (?s) dotall toggle whether. matches \n or not (?u) unicode case make 'case-insensibve' unicode-consistent (?i)hello matches hello (?m)the end$ can be found within "the end\n or is it?" 2-14
15 Prac=ce Problems What are some strings that would contain each given parern? Test them out in live code. 1. \ban\b 2. \Bable\b 3. \bpre\b 4. \BaB\B How would you represent the following regular expressions? 1. a string containing a word with prefix "sub" 2. a string containing an integer 3. a string containing a real number 15
16 Special Symbols: Pre-defined groups boundary representa=on meaning \d [0-9] any single digit char \D [^0-9] any single non-digit char \s [ \t\n\f\r] any whitespace char * \S [^ \t\n\f\r] any non-whitespace char* \w [a-za-z0-9_] any idenbfier char (any 'word' char) \W [^a-za-z0-9_] any non-idenbfier char * note: there is a space char in this. Other whitespace chars also, but their unicode representations were omitted here. 16
17 Prac=ce Problems What are some strings that would contain each given parern? Test them out in live code. 1. \d+ 2. \d\d\d\s+\w+\sstreet 3. [1-9]\d+ How would you represent the following regular expressions? 1. a phone number of the form (123) an even number 3. a legal Java idenbfier 4. a Java idenbfier without uppercase lerers 17
18 Special Symbols: everything else boundary representation meaning \ represents instead of its special meaning any non-special char matches itself the backslash is used to escape any special character, so that we can match the character itself. a* matches zero or more a's a\* matches an a followed by a star \b "matches" the gap between characters, instead of a particular character. \bhe\b would match within "if he is" wouldn't match within "if she is" or "anthem". here, could be [,],*,+,?,{,},and so on. It's a placeholder for the special symbols, and would not show up in a regular expression itself. 18
19 Representing Regular Expressions in Java We use a String literal to represent a regular expression in Java. This means that " must be escaped: \" This also means the \ must also be escaped! \\" (represents ") Suggested conversion: write the regexp on paper, carefully represent each character correctly inside the String, one at a Bme: regular expression Java String representa=on an example matching String (without the surrounding quotes) \(\d{3}\) "\\(\\d{3}\\)" (456) I "hate" airquotes "I \"hate\" airquotes" I "hate" airquotes \\d means digits "\\\\d means digits" \d means digits abc\n123 "abc\\n123" abc\n123 19
20 Extracting Strings via Scanner // getting to each of the pattern from the standard input Scanner sc = new Scanner (System.in); // define the regular expression. String regex = "kit{2,4}y"; // test with "here, kitty kitty kitty! // try to get the first line. String temp = sc.findinline(regex); // keep using and getting lines. // null is returned upon failure to match while (temp!= null){ System.out.println(temp); } temp = sc.findinline(regex); 20
21 Using Regular Expressions in Java We could mostly use a few methods from the String class: public boolean matches (String regex) does this String contain a match of the regex parameter? public String replace (String target, String replacement) in this String, replace all occurrences of target with replacement. No actual regex here, just a straight-up substring search. (replaceall allows for finding a regex and replacing with other string). public String[] split (String regex) {..} in this String, using regex as a delimiter, return all substrings that weren't part of the regex matches as an array of Strings. 21
22 Java Pattern class contains a few classes and useful methods. public static boolean matches(string regex,charsequence input{..} tells us if regex can be found within input. public String[] split (CharSequence input) {..} returns String array of things "between" the input. public static Pattern compile (String regex) {..} stores the compiled version of a parern from a regex String. can significantly speed up PaRern usage within a loop CharSequence is an interface that sort of represents Strings. Pretend it says String. 2-22
23 Using the PaRern and Matcher classes going from String to calculabons on regular expressions is costly, so we can save that "regex compilabon" in a PaRern object: PaRern pat = PaRern.compile(regExpString); We can then get a Matcher from a PaRern: Matcher mat = pat.matcher(stringtolookthrough); Finally, we can check for a match: if (mat.matches()) { 2-23
24 Capture Groups Ayer a match is performed, each parenthesized porbon from a successful match can be individually grabbed: Pattern pat = Pattern.compile("(\\d),(\\d),(\\d)"); Matcher mat = pat.matcher("3,4,5"); if (mat.matches()){ int first = Integer.parseInt(mat.group(1)); int second = Integer.parseInt(mat.group(2)); int third = Integer.parseInt(mat.group(3)); //always the whole thing String wholematch = mat.group(0); System.out.println(wholeMatch+" -> " + (first*2)+","+(second*2)+","+(third*2)); } else { System.out.println("no match."); } 2-24
25 Capture Groups, Back-references A regular expression can have a back-reference to a capture group. Just escape the group number: Pattern pat = Pattern.compile("(\\d) is \\1"); String regexp = "9 is 9"; Matcher mat = pat.matcher(regexp); if (mat.matches()){ int first = Integer.parseInt(mat.group(1)); //always the whole thing String wholematch = mat.group(0); System.out.println(wholeMatch+".first(only grp):" +first); } else { System.out.println("no match."); }
26 Capture Groups (summary) Note that the method group(int g) always returns a String. Capture groups let us access the parts of a match for quick use of all the parts of our match. back-references let us have different parts of one parern that must match each other while sbll being as expressive as any other regular expression. PreRy cool! 2-26
Getting Started Values, Expressions, and Statements CS GMU
Getting Started Values, Expressions, and Statements CS 112 @ GMU Topics where does code go? values and expressions variables and assignment 2 where does code go? we can use the interactive Python interpreter
More informationRegular Expressions Overview Suppose you needed to find a specific IPv4 address in a bunch of files? This is easy to do; you just specify the IP
Regular Expressions Overview Suppose you needed to find a specific IPv4 address in a bunch of files? This is easy to do; you just specify the IP address as a string and do a search. But, what if you didn
More information"Hello" " This " + "is String " + "concatenation"
Strings About Strings Strings are objects, but there is a special syntax for writing String literals: "Hello" Strings, unlike most other objects, have a defined operation (as opposed to a method): " This
More informationRegular Expressions. Regular expressions are a powerful search-and-replace technique that is widely used in other environments (such as Unix and Perl)
Regular Expressions Regular expressions are a powerful search-and-replace technique that is widely used in other environments (such as Unix and Perl) JavaScript started supporting regular expressions in
More informationObject-Oriented Software Engineering CS288
Object-Oriented Software Engineering CS288 1 Regular Expressions Contents Material for this lecture is based on the Java tutorial from Sun Microsystems: http://java.sun.com/docs/books/tutorial/essential/regex/index.html
More informationCS 2112 Lab: Regular Expressions
October 10, 2012 Regex Overview Regular Expressions, also known as regex or regexps are a common scheme for pattern matching regex supports matching individual characters as well as categories and ranges
More informationCSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI
CSCI 2010 Principles of Computer Science Data and Expressions 08/09/2013 CSCI 2010 1 Data Types, Variables and Expressions in Java We look at the primitive data types, strings and expressions that are
More informationBasics of Java Programming
Basics of Java Programming Lecture 2 COP 3252 Summer 2017 May 16, 2017 Components of a Java Program statements - A statement is some action or sequence of actions, given as a command in code. A statement
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationData and Expressions. Outline. Data and Expressions 12/18/2010. Let's explore some other fundamental programming concepts. Chapter 2 focuses on:
Data and Expressions Data and Expressions Let's explore some other fundamental programming concepts Chapter 2 focuses on: Character Strings Primitive Data The Declaration And Use Of Variables Expressions
More informationMore Examples. Lex/Flex/JLex
More Examples A FORTRAN-like real literal (which requires digits on either or both sides of a decimal point, or just a string of digits) can be defined as RealLit = (D + (λ. )) (D *. D + ) This corresponds
More information12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.
Java How to Program, 9/e Education, Inc. All Rights Reserved. } Java application programming } Use tools from the JDK to compile and run programs. } Videos at www.deitel.com/books/jhtp9/ Help you get started
More informationChapter 2, Part I Introduction to C Programming
Chapter 2, Part I Introduction to C Programming C How to Program, 8/e, GE 2016 Pearson Education, Ltd. All rights reserved. 1 2016 Pearson Education, Ltd. All rights reserved. 2 2016 Pearson Education,
More informationJava Programming. String Processing. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.
Java Programming String Processing 1 Copyright 2013, Oracle and/or its affiliates. All rights Overview This lesson covers the following topics: Read, search, and parse Strings Use StringBuilder to create
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Regular Expressions & Automata Department of Computer Science University of Maryland, College Park 1 Regular expressions Notation Patterns Java support Automata
More informationChapter 2: Data and Expressions
Chapter 2: Data and Expressions CS 121 Department of Computer Science College of Engineering Boise State University January 15, 2015 Chapter 2: Data and Expressions CS 121 1 / 1 Chapter 2 Part 1: Data
More informationScheme: Strings Scheme: I/O
Scheme: Strings Scheme: I/O CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Wednesday, April 5, 2017 Glenn G. Chappell Department of Computer Science University of
More informationThis page covers the very basics of understanding, creating and using regular expressions ('regexes') in Perl.
NAME DESCRIPTION perlrequick - Perl regular expressions quick start Perl version 5.16.2 documentation - perlrequick This page covers the very basics of understanding, creating and using regular expressions
More informationSTUDENT LESSON A7 Simple I/O
STUDENT LESSON A7 Simple I/O Java Curriculum for AP Computer Science, Student Lesson A7 1 STUDENT LESSON A7 Simple I/O INTRODUCTION: The input and output of a program s data is usually referred to as I/O.
More informationPerl Regular Expressions. Perl Patterns. Character Class Shortcuts. Examples of Perl Patterns
Perl Regular Expressions Unlike most programming languages, Perl has builtin support for matching strings using regular expressions called patterns, which are similar to the regular expressions used in
More informationThere are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals:
Numeric Types There are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals: 1-123 +456 2. Long integers, of unlimited
More informationC How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.
C How to Program, 6/e 1992-2010 by Pearson Education, Inc. An important part of the solution to any problem is the presentation of the results. In this chapter, we discuss in depth the formatting features
More informationDr. Sarah Abraham University of Texas at Austin Computer Science Department. Regular Expressions. Elements of Graphics CS324e Spring 2017
Dr. Sarah Abraham University of Texas at Austin Computer Science Department Regular Expressions Elements of Graphics CS324e Spring 2017 What are Regular Expressions? Describe a set of strings based on
More informationReview Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013
Review Chapters 1 to 4 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Introduction to Java Chapters 1 and 2 The Java Language Section 1.1 Data & Expressions Sections 2.1 2.5 Instructor:
More informationUsing Java Classes Fall 2018 Margaret Reid-Miller
Using Java Classes 15-121 Fall 2018 Margaret Reid-Miller Today Strings I/O (using Scanner) Loops, Conditionals, Scope Math Class (random) Fall 2018 15-121 (Reid-Miller) 2 The Math Class The Math class
More informationCMSC 330: Organization of Programming Languages. Ruby Regular Expressions
CMSC 330: Organization of Programming Languages Ruby Regular Expressions 1 String Processing in Ruby Earlier, we motivated scripting languages using a popular application of them: string processing The
More informationMore Data Types. The Char Data Type. Variable Declaration. CS200: Computer Science I. Module 14 More Data Types
datatype CS200: Computer Science I Module 14 More Data Types Kevin Sahr, PhD Department of Computer Science Southern Oregon University 1 More Data Types in addition to the data types double and int we
More informationAssoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Java application A computer program that executes when you use the java command to launch the Java Virtual Machine
More informationRegular Expressions & Automata
Regular Expressions & Automata CMSC 132 Department of Computer Science University of Maryland, College Park Regular expressions Notation Patterns Java support Automata Languages Finite State Machines Turing
More informationGetting started with Java
Getting started with Java Magic Lines public class MagicLines { public static void main(string[] args) { } } Comments Comments are lines in your code that get ignored during execution. Good for leaving
More informationCSE 154 LECTURE 11: REGULAR EXPRESSIONS
CSE 154 LECTURE 11: REGULAR EXPRESSIONS What is form validation? validation: ensuring that form's values are correct some types of validation: preventing blank values (email address) ensuring the type
More informationCS Programming I: Using Objects
CS 200 - Programming I: Using Objects Marc Renault Department of Computer Sciences University of Wisconsin Madison Fall 2017 TopHat Sec 3 (PM) Join Code: 719946 TopHat Sec 4 (AM) Join Code: 891624 Binary
More informationLesson 7. Reading and Writing a.k.a. Input and Output
Lesson 7 Reading and Writing a.k.a. Input and Output Escape sequences for printf strings Source: http://en.wikipedia.org/wiki/escape_sequences_in_c Escape sequences for printf strings Why do we need escape
More informationProgramming with Java
Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules
More informationCS Programming I: Using Objects
CS 200 - Programming I: Using Objects Marc Renault Department of Computer Sciences University of Wisconsin Madison Spring 2018 TopHat Sec 3 (AM) Join Code: 427811 TopHat Sec 4 (PM) Join Code: 165455 Binary
More informationJava Basic Datatypees
Basic Datatypees Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in the memory. Based on the data type of a variable,
More informationCS 541 Spring Programming Assignment 2 CSX Scanner
CS 541 Spring 2017 Programming Assignment 2 CSX Scanner Your next project step is to write a scanner module for the programming language CSX (Computer Science experimental). Use the JFlex scanner-generation
More informationLexical Analysis. Lexical analysis is the first phase of compilation: The file is converted from ASCII to tokens. It must be fast!
Lexical Analysis Lexical analysis is the first phase of compilation: The file is converted from ASCII to tokens. It must be fast! Compiler Passes Analysis of input program (front-end) character stream
More informationLecture Set 2: Starting Java
Lecture Set 2: Starting Java 1. Java Concepts 2. Java Programming Basics 3. User output 4. Variables and types 5. Expressions 6. User input 7. Uninitialized Variables 0 This Course: Intro to Procedural
More informationPeer Instruction 1. Elementary Programming
Peer Instruction 1 Elementary Programming 0 Which of the following variable declarations will not compile? Please select the single correct answer. A. int i = 778899; B. double x = 5.43212345; C. char
More informationCSC207 Week 9. Larry Zhang
CSC207 Week 9 Larry Zhang 1 Logistics A2 Part 2 is out. A1 Part 2 marks out on Peer Assessment, for remarking requests, contact Larry. 2 Today s outline File I/O Regular Expressions 3 File I/O: read and
More informationChapter 2: Data and Expressions
Chapter 2: Data and Expressions CS 121 Department of Computer Science College of Engineering Boise State University April 21, 2015 Chapter 2: Data and Expressions CS 121 1 / 53 Chapter 2 Part 1: Data Types
More informationLecture Set 2: Starting Java
Lecture Set 2: Starting Java 1. Java Concepts 2. Java Programming Basics 3. User output 4. Variables and types 5. Expressions 6. User input 7. Uninitialized Variables 0 This Course: Intro to Procedural
More informationProgramming in Python 3
Programming in Python 3 Programming transforms your computer from a home appliance to a power tool Al Sweigart, The invent with Python Blog Programming Introduction Write programs that solve a problem
More informationWhat did we talk about last time? Examples switch statements
Week 4 - Friday What did we talk about last time? Examples switch statements History of computers Hardware Software development Basic Java syntax Output with System.out.print() Mechanical Calculation
More informationA variable is a name for a location in memory A variable must be declared
Variables A variable is a name for a location in memory A variable must be declared, specifying the variable's name and the type of information that will be held in it data type variable name int total;
More informationA token is a sequence of characters not including any whitespace.
Scanner A Scanner object reads from an input source (keyboard, file, String, etc) next() returns the next token as a String nextint() returns the next token as an int nextdouble() returns the next token
More informationCMPT 125: Lecture 3 Data and Expressions
CMPT 125: Lecture 3 Data and Expressions Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 3, 2009 1 Character Strings A character string is an object in Java,
More informationQUIZ: loops. Write a program that prints the integers from -7 to 15 (inclusive) using: for loop while loop do...while loop
QUIZ: loops Write a program that prints the integers from -7 to 15 (inclusive) using: for loop while loop do...while loop QUIZ: loops Write a program that prints the integers from -7 to 15 using: for
More informationCONTENTS: Compilation Data and Expressions COMP 202. More on Chapter 2
CONTENTS: Compilation Data and Expressions COMP 202 More on Chapter 2 Programming Language Levels There are many programming language levels: machine language assembly language high-level language Java,
More informationChapter. Let's explore some other fundamental programming concepts
Data and Expressions 2 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Data and Expressions Let's explore some
More informationProgramming Language Basics
Programming Language Basics Lecture Outline & Notes Overview 1. History & Background 2. Basic Program structure a. How an operating system runs a program i. Machine code ii. OS- specific commands to setup
More informationIf we have a call. Now consider fastmap, a version of map that uses futures: Now look at the call. That is, instead of
If we have a call (map slow-function long-list where slow-function executes slowly and long-list is a large data structure, we can expect to wait quite a while for computation of the result list to complete.
More informationCS 536 Introduction to Programming Languages and Compilers Charles N. Fischer Lecture 3
CS 536 Introduction to Programming Languages and Compilers Charles N. Fischer Lecture 3 CS 536 Spring 2015 1 Scanning A scanner transforms a character stream into a token stream. A scanner is sometimes
More informationBNF, EBNF Regular Expressions. Programming Languages,
BNF, EBNF Regular Expressions Programming Languages, 234319 1 Reminder - (E)BNF A notation for describing the grammar of a language The notation consists of: Terminals: the actual legal strings, written
More informationBasic Computation. Chapter 2
Basic Computation Chapter 2 Outline Variables and Expressions The Class String Keyboard and Screen I/O Documentation and Style Variables Variables store data such as numbers and letters. Think of them
More informationWentworth Institute of Technology. Engineering & Technology WIT COMP1000. Java Basics
WIT COMP1000 Java Basics Java Origins Java was developed by James Gosling at Sun Microsystems in the early 1990s It was derived largely from the C++ programming language with several enhancements Java
More informationWelcome to the Using Objects lab!
Welcome to the Using Objects lab! Learning Outcomes By the end of this lab: 1. Be able to define chapter 3 terms. 2. Describe reference variables and compare with primitive data type variables. 3. Draw
More informationTable of Contents Date(s) Title/Topic Page #s. Abstraction
Table of Contents Date(s) Title/Topic Page #s 9/10 2.2 String Literals, 2.3 Variables and Assignment 34-35 Abstraction An abstraction hides (or suppresses) the right details at the right time An object
More informationLecture 1. Types, Expressions, & Variables
Lecture 1 Types, Expressions, & Variables About Your Instructor Director: GDIAC Game Design Initiative at Cornell Teach game design (and CS 1110 in fall) 8/29/13 Overview, Types & Expressions 2 Helping
More informationIndian Institute of Technology Kharagpur. PERL Part III. Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. I.I.T.
Indian Institute of Technology Kharagpur PERL Part III Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. I.I.T. Kharagpur, INDIA Lecture 23: PERL Part III On completion, the student will be able
More informationStrings are actually 'objects' Strings
Strings are actually 'objects' Strings What is an object?! An object is a concept that we can encapsulate data along with the functions that might need to access or manipulate that data. What is an object?!
More informationBasic Computation. Chapter 2
Walter Savitch Frank M. Carrano Basic Computation Chapter 2 Outline Variables and Expressions The Class String Keyboard and Screen I/O Documentation and Style Variables Variables store data such as numbers
More informationStrings, Strings and characters, String class methods. JAVA Standard Edition
Strings, Strings and characters, String class methods JAVA Standard Edition Java - Character Class Normally, when we work with characters, we use primitive data types char. char ch = 'a'; // Unicode for
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Java basics: Compilation vs Interpretation Program structure Statements Values Variables Types Operators and Expressions
More informationHere's an example of how the method works on the string "My text" with a start value of 3 and a length value of 2:
CS 1251 Page 1 Friday Friday, October 31, 2014 10:36 AM Finding patterns in text A smaller string inside of a larger one is called a substring. You have already learned how to make substrings in the spreadsheet
More informationNote that pcall can be implemented using futures. That is, instead of. we can use
Note that pcall can be implemented using futures. That is, instead of (pcall F X Y Z) we can use ((future F) (future X) (future Y) (future Z)) In fact the latter version is actually more parallel execution
More informationFirst Java Program - Output to the Screen
First Java Program - Output to the Screen These notes are written assuming that the reader has never programmed in Java, but has programmed in another language in the past. In any language, one of the
More informationCSE 390a Lecture 7. Regular expressions, egrep, and sed
CSE 390a Lecture 7 Regular expressions, egrep, and sed slides created by Marty Stepp, modified by Jessica Miller and Ruth Anderson http://www.cs.washington.edu/390a/ 1 2 Lecture summary regular expression
More informationTools : The Java Compiler. The Java Interpreter. The Java Debugger
Tools : The Java Compiler javac [ options ] filename.java... -depend: Causes recompilation of class files on which the source files given as command line arguments recursively depend. -O: Optimizes code,
More informationCOMP 110 Introduction to Programming. What did we discuss?
COMP 110 Introduction to Programming Fall 2015 Time: TR 9:30 10:45 Room: AR 121 (Hanes Art Center) Jay Aikat FB 314, aikat@cs.unc.edu Previous Class What did we discuss? COMP 110 Fall 2015 2 1 Today Announcements
More informationThe SPL Programming Language Reference Manual
The SPL Programming Language Reference Manual Leonidas Fegaras University of Texas at Arlington Arlington, TX 76019 fegaras@cse.uta.edu February 27, 2018 1 Introduction The SPL language is a Small Programming
More informationCMSC 330: Organization of Programming Languages. Ruby Regular Expressions
CMSC 330: Organization of Programming Languages Ruby Regular Expressions 1 String Processing in Ruby Earlier, we motivated scripting languages using a popular application of them: string processing The
More informationFormatted Output Pearson Education, Inc. All rights reserved.
1 29 Formatted Output 2 OBJECTIVES In this chapter you will learn: To understand input and output streams. To use printf formatting. To print with field widths and precisions. To use formatting flags in
More informationFundamentals of Programming Session 4
Fundamentals of Programming Session 4 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2011 These slides are created using Deitel s slides, ( 1992-2010 by Pearson Education, Inc).
More informationComputational Expression
Computational Expression Variables, Primitive Data Types, Expressions Janyl Jumadinova 28-30 January, 2019 Janyl Jumadinova Computational Expression 28-30 January, 2019 1 / 17 Variables Variable is a name
More informationCSE 303 Lecture 7. Regular expressions, egrep, and sed. read Linux Pocket Guide pp , 73-74, 81
CSE 303 Lecture 7 Regular expressions, egrep, and sed read Linux Pocket Guide pp. 66-67, 73-74, 81 slides created by Marty Stepp http://www.cs.washington.edu/303/ 1 discuss reading #2 Lecture summary regular
More informationCSC Web Programming. Introduction to JavaScript
CSC 242 - Web Programming Introduction to JavaScript JavaScript JavaScript is a client-side scripting language the code is executed by the web browser JavaScript is an embedded language it relies on its
More informationPac Man Game Programming Language. Reference Manual. Chun Kang Chen (cc3260) Hui Hsiang Kuo (hk2604) Shuwei Cao (sc3331) Wenxin Zhu (wz2203)
Pa aml Pac Man Game Programming Language Reference Manual Chun Kang Chen (cc3260) Hui Hsiang Kuo (hk2604) Shuwei Cao (sc3331) Wenxin Zhu (wz2203) 1 Table of Contents 1. Introduction... 4 2. Lexical conventions...
More informationProgramming for Engineers Introduction to C
Programming for Engineers Introduction to C ICEN 200 Spring 2018 Prof. Dola Saha 1 Simple Program 2 Comments // Fig. 2.1: fig02_01.c // A first program in C begin with //, indicating that these two lines
More informationCOMP 202. Built in Libraries and objects. CONTENTS: Introduction to objects Introduction to some basic Java libraries string
COMP 202 Built in Libraries and objects CONTENTS: Introduction to objects Introduction to some basic Java libraries string COMP 202 Objects and Built in Libraries 1 Classes and Objects An object is an
More informationCS/ECE 374 Fall Homework 1. Due Tuesday, September 6, 2016 at 8pm
CSECE 374 Fall 2016 Homework 1 Due Tuesday, September 6, 2016 at 8pm Starting with this homework, groups of up to three people can submit joint solutions. Each problem should be submitted by exactly one
More informationAP Computer Science Unit 1. Programs
AP Computer Science Unit 1. Programs Open DrJava. Under the File menu click on New Java Class and the window to the right should appear. Fill in the information as shown and click OK. This code is generated
More informationQuestion: Total Points: Score:
CS 170 Exam 1 Section 003 Fall 2013 Name (print): Instructions: Keep your eyes on your own paper and do your best to prevent anyone else from seeing your work. Do NOT communicate with anyone other than
More informationCSC 467 Lecture 3: Regular Expressions
CSC 467 Lecture 3: Regular Expressions Recall How we build a lexer by hand o Use fgetc/mmap to read input o Use a big switch to match patterns Homework exercise static TokenKind identifier( TokenKind token
More informationArray. Prepared By - Rifat Shahriyar
Java More Details Array 2 Arrays A group of variables containing values that all have the same type Arrays are fixed length entities In Java, arrays are objects, so they are considered reference types
More informationCS Unix Tools & Scripting
Cornell University, Spring 2014 1 February 7, 2014 1 Slides evolved from previous versions by Hussam Abu-Libdeh and David Slater Regular Expression A new level of mastery over your data. Pattern matching
More informationLecture Notes. System.out.println( Circle radius: + radius + area: + area); radius radius area area value
Lecture Notes 1. Comments a. /* */ b. // 2. Program Structures a. public class ComputeArea { public static void main(string[ ] args) { // input radius // compute area algorithm // output area Actions to
More informationCS1 Lecture 3 Jan. 18, 2019
CS1 Lecture 3 Jan. 18, 2019 Office hours for Prof. Cremer and for TAs have been posted. Locations will change check class website regularly First homework assignment will be available Monday evening, due
More informationStructure of Programming Languages Lecture 3
Structure of Programming Languages Lecture 3 CSCI 6636 4536 Spring 2017 CSCI 6636 4536 Lecture 3... 1/25 Spring 2017 1 / 25 Outline 1 Finite Languages Deterministic Finite State Machines Lexical Analysis
More informationRegex, Sed, Awk. Arindam Fadikar. December 12, 2017
Regex, Sed, Awk Arindam Fadikar December 12, 2017 Why Regex Lots of text data. twitter data (social network data) government records web scrapping many more... Regex Regular Expressions or regex or regexp
More informationLanguage Reference Manual
TAPE: A File Handling Language Language Reference Manual Tianhua Fang (tf2377) Alexander Sato (as4628) Priscilla Wang (pyw2102) Edwin Chan (cc3919) Programming Languages and Translators COMSW 4115 Fall
More informationChapter 2: Using Data
Chapter 2: Using Data TRUE/FALSE 1. A variable can hold more than one value at a time. F PTS: 1 REF: 52 2. The legal integer values are -2 31 through 2 31-1. These are the highest and lowest values that
More informationJava Bytecode (binary file)
Java is Compiled Unlike Python, which is an interpreted langauge, Java code is compiled. In Java, a compiler reads in a Java source file (the code that we write), and it translates that code into bytecode.
More informationCS 230 Programming Languages
CS 230 Programming Languages 09 / 20 / 2013 Instructor: Michael Eckmann Today s Topics Questions/comments? Continue Regular expressions Matching string basics =~ (matches) m/ / (this is the format of match
More informationLanguage Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */
Overview Language Basics This chapter describes the basic elements of Rexx. It discusses the simple components that make up the language. These include script structure, elements of the language, operators,
More informationRegular Expressions. Steve Renals (based on original notes by Ewan Klein) ICL 12 October Outline Overview of REs REs in Python
Regular Expressions Steve Renals s.renals@ed.ac.uk (based on original notes by Ewan Klein) ICL 12 October 2005 Introduction Formal Background to REs Extensions of Basic REs Overview Goals: a basic idea
More information2 nd Week Lecture Notes
2 nd Week Lecture Notes Scope of variables All the variables that we intend to use in a program must have been declared with its type specifier in an earlier point in the code, like we did in the previous
More informationCS1 Lecture 3 Jan. 22, 2018
CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow
More informationJava Programming: Guided Learning with Early Objects Chapter 5 Control Structures II: Repetition
Java Programming: Guided Learning with Early Objects Chapter 5 Control Structures II: Repetition Learn about repetition (looping) control structures Explore how to construct and use: o Counter-controlled
More information